Esercizio 6
Eseguire l'ordinamento di un vettore di interi tramite l'algoritmo di scambio.
Anche in questo problema viene applicata una scansione ripetuta (due cicli for annidati) del vettore.
#include<iostream>
using namespace std;
const int n=5;
main(){
int T[n]={3,2,7,4,5};
int i,j,x;
for(i=0;i < n-1;i++)
for(j=i+1;j < n;j++)
if(T[j] < T[i]){//scambio
x=T[j];
T[j]=T[i];
T[i]=x;
} // fine if
//stampa a video
for(i=0;i < n;i++)cout << T[i];
}//fine main
Viene usata la variabile ausiliaria x per effettuare lo scambio di due elementi del vettore. E' da notare la doppia scansione dello stesso con i che va dal primo elemento al penultimo e con j che ad ogni ciclo di i controlla tutti gli elementi successivi ad i. Riportiamo di seguito uno schema rappresentativo delle operazioni eseguite dall'algoritmo.