Skip to content

Commit 0c93e2b

Browse files
committed
🔁 - Merge develop to feature/sortedSelection-recursive
2 parents a3babb5 + 8ab3c44 commit 0c93e2b

7 files changed

Lines changed: 142 additions & 120 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
.idea
33
untitled104.iml
44
.DS_Store
5-
.vscode
5+
.vscode
6+
.metadata
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import java.util.Arrays;
2+
import java.util.Random;
3+
4+
public class Iteratif {
5+
public static float echanges = 0;
6+
public static float comparaisons = 0;
7+
public static float affectations = 0;
8+
9+
public static void main(String[] args) {
10+
// write your code here
11+
// Clear console
12+
System.out.print("\033[H\033[2J");
13+
14+
// Tableau de test
15+
// int[] tab = { 4, 3, 2, 1};
16+
17+
// System.out.println("Tableau de test : " + Arrays.toString(tri_bulleN(tab)));
18+
19+
stat(10, 20, 5, 1);
20+
21+
}
22+
23+
public static int[] tri_bulleN(int[] tab) {
24+
int taille = tab.length;
25+
int tmp = 0;
26+
for (int i = 0; i < taille; i++) {
27+
28+
for (int j = 1; j < (taille - i); j++) {
29+
if (tab[j - 1] > tab[j]) {
30+
tmp = tab[j - 1];
31+
tab[j - 1] = tab[j];
32+
tab[j] = tmp;
33+
34+
echanges++;
35+
comparaisons++;
36+
affectations += 3;
37+
}
38+
comparaisons++;
39+
affectations++;
40+
}
41+
42+
affectations++;
43+
comparaisons++;
44+
}
45+
46+
return tab;
47+
}
48+
49+
public static void stat(int min, int max, int step, int nbr) {
50+
int i;
51+
comparaisons = 0;
52+
echanges = 0;
53+
affectations = 0;
54+
for (i = 1; i <= nbr; i++) {
55+
int Tab[] = new Random().ints(min).toArray();
56+
// int Tab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
57+
// int Tab[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
58+
tri_bulleN(Tab);
59+
}
60+
if (min < max && i > nbr) {
61+
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectations / nbr);
62+
stat((min + step), max, step, nbr);
63+
} else {
64+
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectations / nbr);
65+
System.out.println("Le nombre de comparaisons est de " + comparaisons / nbr);
66+
System.out.println("Le nombre d'echanges est de " + echanges / nbr);
67+
}
68+
}
69+
}

Tri-a-bulle-normal/src/Main.java

Lines changed: 0 additions & 68 deletions
This file was deleted.
56 Bytes
Binary file not shown.
Lines changed: 52 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,85 @@
1+
12
// Import Arrays
23
import java.util.Arrays;
34
import java.util.Random;
45

56
public class Iteratif {
6-
7-
public static float comparaisons;
8-
public static float echanges;
9-
public static float affectations;
7+
8+
public static float comparaisons;
9+
public static float echanges;
10+
public static float affectations;
1011

1112
public static void main(String[] args) {
1213
// write your code here
1314
// Clear console
1415
System.out.print("\033\033");
15-
16+
1617
Random rand = new Random();
1718

1819
// Tableau de test
19-
int[] tableau = { rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100) };
20+
int[] tableau = { rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100),
21+
rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100) };
2022
// int[] tableau = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
2123
System.out.println(Arrays.toString(triBulle(tableau)));
22-
24+
2325
stat(10, 20, 5, 10);
24-
25-
// System.out.println("Résultat de " + comparaisons + " comparaisons, " + echanges + " échanges et " + (echanges * 3) + " affectations");
26+
27+
// System.out.println("Résultat de " + comparaisons + " comparaisons, " +
28+
// echanges + " échanges et " + (echanges * 3) + " affectations");
2629
}
2730

28-
public static int[] triBulle(int [] tableau) {
29-
int n = tableau.length;
30-
31+
public static int[] triBulle(int[] tab) {
32+
int n = tab.length;
33+
3134
boolean echange = true;
3235
while (echange) {
3336
echange = false;
3437
for (int i = 0; i < n - 1; i++) {
35-
comparaisons++;
36-
if (tableau[i] > tableau[i + 1]) {
37-
echanges++;
38-
int temp = tableau[i];
39-
tableau[i] = tableau[i + 1];
40-
tableau[i + 1] = temp;
38+
if (tab[i] > tab[i + 1]) {
39+
int temp = tab[i];
40+
tab[i] = tab[i + 1];
41+
tab[i + 1] = temp;
42+
4143
echange = true;
44+
45+
echanges++;
46+
comparaisons++;
47+
affectations += 3;
4248
}
49+
50+
comparaisons++;
51+
affectations++;
4352
}
53+
54+
comparaisons++;
4455
}
45-
46-
return tableau;
56+
57+
return tab;
4758
}
48-
49-
public static void stat(int min,int max, int step, int nbr) {
59+
60+
public static void stat(int min, int max, int step, int nbr) {
5061
int i;
51-
for ( i = 1 ; i <= nbr ; i++) {
52-
int Tab[] =new Random().ints(min).toArray();
62+
comparaisons = 0;
63+
echanges = 0;
64+
affectations = 0;
65+
for (i = 1; i <= nbr; i++) {
66+
int Tab[] = new Random().ints(min).toArray();
67+
// int Tab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
68+
// int Tab[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
5369
triBulle(Tab);
5470
}
55-
if (min < max && i>nbr) {
56-
stat((min+step),max,step,nbr);
71+
// System.out.println("Le nombre de comparaisons est de " + comparaisons/nbr);
72+
73+
// System.out.println("Le nombre d'échanges est de " + echanges/nbr);
74+
75+
if (min < max && i > nbr) {
76+
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectations / nbr);
77+
stat((min + step), max, step, nbr);
5778
} else {
58-
System.out.println("Le nombre de comparaisons est de " + comparaisons/nbr);
59-
System.out.println("Le nombre d'échanges est de " + echanges/nbr);
60-
61-
if (min < max && i>nbr) {
62-
System.out.println("Le nombre d'affectations pour " + min + " est de " + (echanges * 3)/nbr);
63-
stat((min+step),max,step,nbr);
64-
} else {
65-
System.out.println("Le nombre d'affectations pour " + min + " est de " + (echanges * 3)/nbr);
66-
}
79+
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectations / nbr);
80+
81+
System.out.println("Le nombre de comparaisons est de " + comparaisons / nbr);
82+
System.out.println("Le nombre d'echanges est de " + echanges / nbr);
6783
}
68-
}
84+
}
6985
}

Tri-de-selection/src/Iteratif.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ public static void main(String[] args) {
5151
int[] tableau = {1,2,3,4,5,6,7,8,9,10};
5252
// int[] tableau = { rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100), rand.nextInt(100) };
5353

54-
System.out.println("Tableau d'avant fonction : " + Arrays.toString(tableau));
55-
System.out.println("Tableau après fonction : " + Arrays.toString(selectedSort(tableau)));
56-
System.out.println("Comparaisons : " + comparaisons);
57-
System.out.println("Echanges : " + echanges);
58-
System.out.println("Affectations : " + affectations );
59-
System.out.println("Opérations" + (echanges + affectations + comparaisons));
54+
// System.out.println("Tableau d'avant fonction : " + Arrays.toString(tableau));
55+
// System.out.println("Tableau après fonction : " + Arrays.toString(selectedSort(tableau)));
56+
// System.out.println("Comparaisons : " + comparaisons);
57+
// System.out.println("Echanges : " + echanges);
58+
// System.out.println("Affectations : " + affectations );
59+
// System.out.println("Opérations" + (echanges + affectations + comparaisons));
6060

61-
// stat(10,20,5,10);
61+
stat(10,20,5,10);
6262

6363
}
6464

@@ -76,6 +76,8 @@ public static void stat(int min,int max, int step, int nbr) {
7676
stat((min+step),max,step,nbr);
7777
} else {
7878
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectations/nbr);
79+
System.out.println("Le nombre de comparaisons est de " + comparaisons/nbr);
80+
System.out.println("Le nombre d'echanges est de " + echanges/nbr);
7981
}
8082
}
8183
}

Tri-insertion/src/Main.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ public class Main {
77
public static void main(String[] args) {
88
System.out.print("\033\033");
99

10-
int[] tableau = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
10+
int[] tableau = { 10,9,8,7,6,5,4,3,2,1 };
1111

12-
System.out.println("Tableau de test : " + Arrays.toString(tri(tableau)));
12+
System.out.println("Tableau de test : " + Arrays.toString(triInsertion(tableau)));
1313
System.out.println("Nombre d'échanges : "+ echanges);
1414
System.out.println("Nombre de comparaisons :" + comparaison);
1515
System.out.println("Nombre d'affectations :" + affectation);
1616
stat(10,20,5,10);
1717

1818
}
1919

20-
public static int[] tri(int[] tableau)
20+
public static int[] triInsertion(int[] tableau)
2121
{
2222
int taille = tableau.length;
2323

@@ -34,13 +34,12 @@ public static int[] tri(int[] tableau)
3434
while(j >= 0 && tableau[j] > x)
3535
{
3636
tableau[j+1] = tableau[j];
37+
j--;
3738
echanges++;
3839
affectation+=1;
3940
comparaison+=2;
40-
j--;
41-
42-
43-
}
41+
}
42+
4443
tableau [j+1] = x;
4544

4645
}
@@ -49,10 +48,13 @@ public static int[] tri(int[] tableau)
4948

5049
public static void stat(int min,int max, int step, int nbr) {
5150
int i;
51+
affectation = 0;
52+
echanges= 0;
53+
comparaison = 0;
5254

5355
for ( i = 1 ; i <= nbr ; i++) {
5456
int tableau[] =new Random().ints(min).toArray();
55-
tri(tableau);
57+
triInsertion(tableau);
5658
}
5759
if (min < max && i>nbr) {
5860
System.out.println("Le nombre d'affectations pour " + min + " est de " + affectation/nbr);

0 commit comments

Comments
 (0)