edutecnica

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.