Je pratique actuellement le quicksort et ça a bien fonctionné jusqu'à maintenant. Mais je pourrais trouver un exemple où j'échoue (parce qu'il semble être un cas spécial et je n'ai pas encore lu à ce sujet, c'est pourquoi je le fais mal .. ne peut pas le résoudre). Le problème est que je pense parce que je choisis le plus petit élément comme pivotelement:Mon test de bureau quicksort ne semble pas être correct
9 1 4 2 7 *0* (star mark means pivotelement)
Maintenant, je mis i,j
où i
passera par Array (passer à droite) jusqu'à ce qu'il trouve un élément qui est supérieur au pivotelement. Et j
passera par Array (se déplacer à gauche) jusqu'à ce qu'il trouve un élément qui est inférieur au pivotelement. Trouvé, nous Commutons les éléments où i
et j
Montrer à. Nous faisons cela jusqu'à i
et j
croisés (aka "j
est avant i
"). Dans ce cas, on passe l'élément i
montre et index i
avec pivotelement ... Je ne veux pas décrire l'algorithme ensemble maintenant ou il sera question de longue ..
9 1 4 2 7 *0*
i j but now we cannot find a j that is lower than Pivotelement. What we do?
I would continue by switching i with pivotelement:
*0* 1 4 2 7 9
j i But now is the Problem that i and j are in other positions
(j is before i). I have no idea.. Please clarify and help..