/* Algoritm BubbelSort(lista,n) * * Exempel föreläsning 000203 * */ #include #include #include void bubbel(int lista[],int n) { int i,sist,temp; int bytt; /* logisk */ sist = n-1; /* sista index i listan */ do { bytt = 0; /* logiskt false */ for (i=0;i <= sist-1; i++) { if (lista[i] > lista[i+1]) { temp = lista[i]; lista[i] = lista[i+1]; lista[i+1] = temp; bytt = 1; /* logiskt true */ } } sist = sist - 1; }while (bytt); } /* bubbel */ int main(void) { int res[] = {14,0,4,2,-5,8,6,7,3}; int lgd = 9; int i; printf("----- Listan före sortering -----\n"); for (i=0;i <= lgd-1; i++) printf("res[%i]=%i\n",i,res[i]); bubbel(res,lgd); printf("------- Listan sorterad --------\n"); for (i=0;i <= lgd-1; i++) printf("res[%i]=%i\n",i,res[i]); return 0; }