Salve a tutti
Ho questo array di interi da ordinare tramite il quicksort con il vincolo di scegliere come pivot l'ultimo elemento del (sotto)vettore in esame...
3 1 2 5 7 8 4
Io l'ho svolto così:
La prima volta il pivot è il 4
La i scorre verso destra in quando non trova un elemento >=pivot
La j scorre fin quando non trova un elemento <=pivot
i j
3 1 2 5 7 8 4 Condizione iniziale
j i
3 1 2 5 7 8 4 Passo 1
Al primo passo i e j si son scambiati di posto
A questo punto l'algoritmo si deve fermare per lavorare con i sottovettori.
Ma se dividessi in due il vettore avrei il 4 in ultima posizione....questo 4 va prima spostato?
Se si dove e perchè?
Ringrazio quanti potranno essermi d'aiuto.