Bonjour à tous !
J'essaye d'effectuer en langage C, un tri Quicksort : Tri Rapide
Au départ j'ai 8 chiffres : 5,3,9,1,8,6,4,7
Le pivot est determiné de façon : prend le premier élément du groupe à trier
Donc ici le pivot sera 5
Tout ce qui est inférieur à 5 je veux l'insérer dans un nouveau tableau, et de même pour tout ce qui est supérieur à 5
Ce qui donne un tableau t1 avec 3,1,4 (donc 3 sera le pivot) et un tableau t2 avec 9,8,6,7 (donc le pivot sera 9)
Et ainsi de suite ..
Jusqu'a ce qu'il y'est que un seul chiffre dans un tableau ou plus aucun dans ce cas la on s'arrête.
J'ai commencé à écrire le code mais je suis bloquée concernant le pivot quand il est égal à 5, je n'arrive pas à créer les deux tableaux t1 et t2
Pouvez vous m'aider et me dire ou sa ne va pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #include<stdio.h> #include<stdlib.h> #include<iostream.h> int main() { int n,p,i,j,u,t[7],t1[2],t2[3]; j=-1; i=1; u=-1; t[0]=5; t[1]=3; t[2]=9; t[3]=1; t[4]=8; t[5]=6; t[6]=4; t[7]=7; for(i=0;i<8;i++) { printf("\t%d",t[i]); } p=t[0]; printf("\nLe pivot est %d\n",p); if(p>t[i]) { i=i+1; j=j+1; t1[j]=t[i]; printf("%d",t[j]); } else { i=i+1; u=u+1; t2[u]=t[i]; printf("\t%d",t[u]); } getchar(); getchar(); getchar(); }
Merci à vous
PS: Je suis une débutante qui vient juste de débuter le langage C (c'est mon premier langage , je suis actuellement en 1ère année de BTS Informatique)
Partager