Documente Academic
Documente Profesional
Documente Cultură
PRINCIPIU
x= 17 13 14 5 7 25 10
1 2 3 4 5 6 7
Se inserează x[2] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 13 17 14 5 7 25 10
1 2 3 4 5 6 7
Se inserează x[3] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 13 14 17 5 7 25 10
1 2 3 4 5 6 7
Se inserează x[4] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 5 13 14 17 7 25 10
1 2 3 4 5 6 7
Se inserează x[5] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 5 7 13 14 17 25 10
1 2 3 4 5 6 7
Se inserează x[6] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 5 7 13 14 17 25 10
1 2 3 4 5 6 7
Se inserează x[7] în secvența din stânga sa, astfel încât aceasta să fie ordonată ➔
x= 5 7 10 13 14 17 25
1 2 3 4 5 6 7
Pagină 1 din 2
Profesor Darie Simona
Implementare C++
Varianta 1
for(i=2;i<=n;i++) {
aux=x[i];
for(j=i-1; j>=1; j--)
// orice element care este mai mare decât x[i] se deplasează spre dreapta cu o poziție
if (x[j] > aux) x[j+1]=x[j];
else break;
x[j+1]=aux;
}
Varianta 2
for(i=2;i<=n;i++)
for(j=i; j>1; j--)
// orice element mai mic decât cel aflat în dreapta sa, se interschimbă cu acesta
if (x[j] < x[j-1]) aux=x[j], x[j]=x[j-1], x[j-1]=aux;
else break;
Pagină 2 din 2