Salve ragazzi vi posto il sorgente dell'ordinamento a bolle , alcuni passaggi non mi sono chiari.
Questo l'ho preso dal libro di fondamenti di c++ deitel.
//BUBBLE SORT: ORDINARE NUMERI IN ORDINE CRESCENTE
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
const int arraySize=10;
int a[arraySize]={2,6,4,8,10,12,89,68,45,37};
int i; //contatore
int hold; //MEMORIZZA TEMPORANEAMENTE UNO DEI DUE VALORI DA SCAMBIARE
cout<<"Elementi in ordine originale"<<endl;
for(i=0;i<arraySize;i++)
cout<<setw(4)<<a; //Stampa a video gli elementi dell'array
for(int pass=0;pass<arraySize-1;pass++) //pass:passaggio
for(i=0;i<arraySize-1;i++)
if(a>a[i+1])
{
//istruzioni di scambio nel caso la condizione dell'if sia vera
hold=a;
a=a[i+1];
a[i+1]=hold;
}
cout<<endl<<endl;
cout<<"Elementi in ordine crescente";
//Stampa a video gli elementi ordinati
for(i=0;i<arraySize;i++)
cout<<setw(4)<<a;
cout<<endl;
return 0;
}
Il passaggio che non comprendo è questo:
for(int pass=0;pass<arraySize-1;pass++)
for(i=0;i<arraySize-1;i++)
Ho provato ad eliminare una delle due righe di codice alla volta e premere su Build and Run , e ho visto che non mi ordinava gli elementi dell'array.
Però non riesco a comprendere questo ciclo for nidificato cosa voglia dire.
Gli altri passaggi li ho compresi facilmente.
Vi ringrazio anticipatamente .