#include
void qsort(void * base, int num, int width, int (*comp)(const void *, const void *));
void sort(char * lo, char * hi, int (*comp)(const void *, const void *), int width);
char * partition(char * lo, char * hi, int (*comp)(const void *, const void *), int width);
void swap(char * a, char * b, int width);
int mycomp(const void * p1, const void * p2);
int main(void) {
int i;
int a[10] = {5, 3, 2, 9, 12, 6, 7, 10, 11, 1};
qsort(a, 10, 4, mycomp);
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("
");
return 0;
}
int mycomp(const void * p1, const void * p2) {
const int * a1 = (const int *) p1;
const int * a2 = (const int *) p2;
if (*a1 < *a2)
return -1;
else if (*a1 == *a2)
retur