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
|
public void Separer(int k, Liste l1, Liste l2){
Noeud n = premier;
while(n!= null){
if (n.valeur<=k) l1.AjoutFin(n.valeur);
else l2.AjoutFin(n.valeur);
n = n.prochain;
}
}
public void Concatener(Liste l){
if (premier == null){
premier = l.premier;
return;
}
Noeud n = premier;
while (n.prochain != null) n=n.prochain;
n.prochain = l.premier;
}
public void QuickSort(){
if (premier == null) return;
Liste l1 = new Liste();
Liste l2 = new Liste();
Separer(premier.valeur, l1, l2);
System.out.print("test");
l1.QuickSort();
l2.QuickSort();
l1.Concatener(l2);
premier = l1.premier;
} |
Partager