/* simple qsort demo */ #include #include #include int comp( const void *p1, const void *p2 ); /* function to compare for qsort */ main() { int i, n; char *a[] = { "banana", "orange", "pine apple", "apple", "lemon", "papaya", }; n = sizeof( a ) / sizeof( a[0] ); printf( "Before sorting...\n" ); for( i = 0; i < n; i++ ) printf( "%5d %5s\n", i, a[i] ); qsort( a, /* address of array to be sorted */ n, /* number of elements in array */ sizeof( a[0] ), /* size of an element */ comp ); /* function to compare */ printf( "After sorting...\n" ); for( i = 0; i < n; i++ ) printf( "%5d %5s\n", i, a[i] ); return( 0 ); } int comp( const void *p1, const void *p2 ) { return strcmp( *(char **)p1, *(char **)p2 ); }