/* qs_cl_test.c - Command-line testing of quicksort. Samuel A. Rebelsky Version 1.0 of 2007-02-10 */ #include #include #include "quicksort.h" void ia_print(FILE *stream, int a[], int n) { int i; if (n == 0) { fprintf(stream, "[]\n"); return; } fprintf(stream, "[%d", a[0]); for (i = 1; i < n; i++) fprintf(stream, ", %d", a[i]); fprintf(stream, "]\n"); } /* ia_print(int[], int) */ int ilt(int x, int y) { return x-y; } int igt(int x, int y) { return y-x; } int main(int argc, char **argv) { /* Build the array from the command line. */ int i; int n = argc-1; int *a = malloc(n * sizeof(int)); for (i = 0; i < n; i++) a[i] = atoi(argv[i+1]); /* Print it out. */ printf("Original array: "); ia_print(stdout, a, n); /* Sort it. */ quicksort(a, n, igt); /* Print it out again. */ printf("Sorted array: "); ia_print(stdout, a, n); } /* main(int, char**) */