Salve a tutti !
Sono alle prese con l'algoritmo di ordinamento ovvero Bubblesort.
Ho scritto questo programma che contiene la forma non ottimizzata di Bubblesort per cercare di capire prima il suo funzionamento. Il mio problema è che l'array non viene affatto ordinato! Cosa sto sbagliando?
Potreste aiutarmi per capire meglio?
Grazie anticipatamente !
codice:
#include <stdio.h>
#include <stdlib.h>
void bubbleSort(int*, int);
int main () {
int v[30], dim, k;
printf("Inserisci la dimensione del vettore (massimo30)\n");
scanf("%d", &dim);
printf("Inserisci elementi nel vettore:\n");
for (k=0; k<dim; k++)
scanf("%d", &v[k]);
printf("Il vettore ordinato in modo crescente, e' il seguente:\n");
bubbleSort(v,dim);
for(k=0; k<dim; k++)
printf("%d\t", v[k]);
printf("\n");
system("pause");
return 0;
}
void bubbleSort(int *array, int elementi) {
int i, j;
int aus;
for(i=elementi-1; i>0; i--) {
for (j=0; j<i; j++){
if(array[j]>array[j+1])
aus=array[j];
array[j]=array[j+1];
array[j+1]=aus;
}
}
}