Pentru ordonarea unei liste de elemente in mod crescator cu elementele [0],X[1],...,X[n-1] .
Fiecare din elementeleX[0],X[2],... X[i],....X[j],......X[n-2] va juca rolul unui pivot
Să presupunem că vrem să sortăm un
şir de numere întregi, memorate într-un tablou. Fie şirul de
elemente:
X[0] X[1] X[2] X[3] X[4]
4 -3 5 -6 1
i=0 ,X[0] PIVOT
j=1,X[1]<X[0] -3<4? Da SE interschimba X[1] cu X[0] -3 4 5 -6 1
j=2,X[2]<X[0] 5<-3? Nu
j=2,X[2]<X[0] 5<-3? Nu
j=3,X[3]<X[0] -6<-3 DA se interschimba X[3] cu X[0] -6 4 5 -3 1
j=4,X[4]<X[0] 1<-6? Nu
j=4,X[4]<X[0] 1<-6? Nu
i=1 ,X[1] PIVOT
j=2,X[2]<X[1] 5<4? nu
j=3,X[3]<X[1] -3<4? da se interschimba X[3] cu X[1] -6 -3 5 4 1
j=4,X[4]<X[1] 1<-3? nu j=3,X[3]<X[1] -3<4? da se interschimba X[3] cu X[1] -6 -3 5 4 1
i=2 ,X[2] PIVOT
j=3,X[3]<X[2] 4<5? da se interschimba X[3] cu X[2] -6 -3 4 5 1
j=4,X[4]<X[2] 1<4? da se interschimba X[4] cu X[2] -6 -3 1 5 4
j=4,X[4]<X[2] 1<4? da se interschimba X[4] cu X[2] -6 -3 1 5 4
i=3 ,X[3] PIVOT
j=4,X[4]<X[3] 4<5? da se interschimba X[4] cu X[3] -6 -3 4 5 1j=4,X[4]<X[2] 1<4? da se interschimba X[4] cu X[2] -6 -3 1 4 5
scrie vectorul X[i]
citeste vectorul x[i]
pentru(i=0;i<=n-2;i++)
pentru(j=i+1;j<=n-1;j++)
daca(X[j]<x[i])
{
aux=x[i];x[i]=x[j];x[j]=temp
}
3.Algoritmul de sortare prin selectie