Ordinamento a bolla
L'idea di base è quella di confrontare gli elementi adiacenti dell'array e scambiarli di posto se quello precedente è più grande. In questo modo gli elementi più piccoli vanno dal fondo dell'array (indici grandi) alla sommità dell'array (indici piccoli)
int temp;
int[] v = {3, 2, 1 , 6, 0, -4, 2, 9, 23};
int nel = v.length;
int imax = nel -1;
int i = 0;
while(i < imax){
// parto a confrontare dal fondo e scendo all'elemento i
int j = imax;
while (j>i){
System.out.println("Confronto " + (j-1) + " " + j);
if (v[j-1] > v[j]) {
temp = v[j-1];
v[j-1] = v[j];
v[j] = temp;
}
j--;
}
i++;
}
// visualizzo l'array ordinato
for (int b = 0; b < nel; b++){
System.out.println(v[b]);
}