Sunteți pe pagina 1din 1

Procedura quicksort:

- Selecteaza elementul x ( pivot, comparand)


repeta
- cauta primul element a[i]>=x prin parcurgere
stanga ->dreapta
- cauta primul element a[j]>=x prin parcurgere
dreapta -> stanga daca
i<=j atunci
- interschimba a[i] cu a[j]
pana cand parcurgerile se intalnesc ( i>j)
Dupa o prima partitionare se aplica aceeasi
procedura celor doua partitii astfel rezultate,
s.a.m.d pana la partitii banale de cate 1 element
Evitarea unor interschimbari inutile pentru
elementele egale cu pivotul se obtine punand
conditia a[i]>x, respectiv a[j]>x ( sunt necesare
teste pentru a nu se depasi limitele tabloului)
Cand parcurgerile se opresc pe acelasi element (
i<=j), are loc de asemenea o interschimbare
inutila; se va inlocui conditia cu i<j, repectiv
iesirea din bucla cu i>=j

S-ar putea să vă placă și