Salve a tutti. Mi sono trovato stamattina di fronte a un Bubble Sort di cui non capisco il primo "for". Ciò che non capisco è semplicemente a cosa serve il ciclo for con il k, dato che mi sembra totalmente irrilevante.
Lo schema che ho fatto per provare a capire a cosa serva è il seguente:codice:void BubbleSort (int v[], int n) { for (int k=n-1; k>0; k--) for (int i=0; i<k; i++) if (v[i] > v[i+1]) swap(v[i],v[i+1]); }
v[]={10,4,7,2,1}; n=5;
ciclo for
…k=5->i=0--> se v[0]>v[1] cambia v[0] con v[1]
…k=4->i=1--> se v[1]>v[2] cambia v[1] con v[2]
Qualcuno riesce a chiarirmi le idee?