shellsort absteigend sortieren
-
Wie muss ich dieses Programm umändern damit ich das Array absteigend sortiert bekommen?
#include <stdio.h> void shellsort (int array[], int elemente) { int i, j, temp, n; for ( n = 1; n <= elemente/9; n = 3*n+1); for (; n > 0; n /= 3) { for (i = n; i <= elemente; i++) { temp = array[i]; for ( j = i; j >= n && array[j-n] > temp; j -= n) { array[j] = array[j-n]; } array[j] = temp; } } } int main() { int i; /*Das Array zum Sortieren*/ int test_array[] = { 5, 0, 2, 7, 9, 1, 4, 3, 8, 6 }; int N = sizeof(test_array)/sizeof(int); shellsort(test_array, N-1); for(i=0; i<N; i++) printf("%d ",test_array[i]); printf("\n"); getchar (); return 0; }
-
(...) // j >= n && array[j-n] > temp; // aufsteigend j >= n && array[j-n] < temp; // absteigend (...)