I would like an opinion from visitors and senior programmers on the following test question that I'm considering to give to a class of students who are beginning to learn C programming. If I was to ask these students to describe what is going on with this sort program, do think it would be fair to ask them this when they only have an 1 hour and 45 minutes to complete it the 10 question exam. I feel that these students should spend at the most, 30 minutes on this question. Tell me what you think? If you want... try to answer the question. I know how much you guy's like a challenge!
Thank you!
Code:#include <stdio.h> #define N 10 void quicksort(int a[], int low, int high); int split(int a[], int low, int high); main() { int a[N], i; printf("Enter %d numbers to be sorted: ", N); for(i = 0; i < N; i++) scanf("%d", &a[i]); quicksort(a, 0, N - 1); printf("In sorted order: "); for(i = 0; i < N; i++) printf("%d ", a[i]); printf(" \n"); getchar(); getchar(); return 0; } void quicksort(int a[], int low, int high) { int middle; if(low >= high) return; middle = split(a, low, high); quicksort(a, low, middle - 1); quicksort(a, middle + 1, high); } int split(int a[], int low, int high) { int part_element = a[low]; for(;;){ while(low < high && part_element <= a[high]) high--; if(low >= high) break; a[low++] = a[high]; while(low < high && a[low] <= part_element) low++; if(low >= high) break; a[high--] = a[low]; } a[high] = part_element; return high; }



LinkBack URL
About LinkBacks


