Quick sort on two dimensional string array
#include <stdio.h> #include <string.h> #include <assert.h> char names[22][25] = { "J", "C", "I", "B", "P", "G", "D", "O", "B", "V", "C", "D", "L", "G", "A", "K", "K", "T", "R", "J", "D", "J" }; #define NUMBER_OF_NAMES sizeof ( names ) / sizeof ( names[0] ) int main() { int i; /* the unsorted letter */ printf ( "The Unsorted Names.\n" ); for ( i = 0; i < NUMBER_OF_NAMES; i++ ) printf ( "%s\n", names[i] ); printf ( "Press RETURN to continue: " ); fflush ( stdout ); getchar(); qsort (( char * ) names, NUMBER_OF_NAMES, sizeof ( *names ), strcmp ); assert ( names[0][0] < names[1][0] ); /* Quick check */ /* the sorted names */ printf ( "The Sorted letter.\n" ); for ( i = 0; i < NUMBER_OF_NAMES; i++ ) printf ( "%s\n", names[i] ); }