30 likes | 253 Views
Bubble sort. void bubble_sort (int a[],int N) { int i, j, t; for (i=N; i>=1; i--) for (j=2; j<=i; j++) if ( a[j-1]>a[j] ) { t=a[j-1]; a[j-1]=a[j]; a[j]=t; } }. Bubble sort. 2. 3. 0. 1. 4. 5. 7. 3. 2. 2. 3. 5. 1. 7. 4. 7. 5. 7. 4. 1. i. j. j++.
E N D
Bubble sort void bubble_sort (int a[],int N) { int i, j, t; for (i=N; i>=1; i--) for (j=2; j<=i; j++) if ( a[j-1]>a[j] ) { t=a[j-1]; a[j-1]=a[j]; a[j]=t; } }
Bubble sort 2 3 0 1 4 5 7 3 2 2 3 5 1 7 4 7 5 7 4 1 i j j++ a[j-1]>a[j] ? NO SI 7 3 scambio temp ricomincia il ciclo con j che varia da 2 a i Presentazione realizzata dall’ing. G. Marti
Bubble sort più efficiente void ordina(int a[], const int n) { int i, j, t, ordinato=1; for (i=n; i>=1; i--){ ordinato=1; for (j=2; j<=i; j++) if ( a[j-1]>a[j] ) { t=a[j-1]; a[j-1]=a[j]; a[j]=t; ordinato=0; } if (ordinato) break; } }