/* ========================================================================== */ /* */ /* shellSort.c */ /* (c) 2017 K. J. Rock */ /* */ /* Shell Sort */ /* */ /* ========================================================================== */ #include #include void ShellSort(int *array, int number_of_elements) { int iter, jter, increment, temp; int i,j; for(increment = number_of_elements/2; increment > 0; increment /= 2) { for(i = increment; i= increment; j-=increment) { if(temp < array[j-increment]) { array[j] = array[j-increment]; } else { break; } } array[j] = temp; } } } int main() { int number_of_elements; printf("How many elements in this set?"); scanf("%d", &number_of_elements); int array[number_of_elements]; int iter; for(iter = 0; iter < number_of_elements; iter++) { //scanf("%d",&array[iter]); array[iter] = rand() % 79 + 20; } /* Calling this functions sorts the array */ ShellSort(array, number_of_elements); for(iter = 0; iter < number_of_elements; iter++) { printf("%d ", array[iter]); } printf("\n"); return 0; }