比如有一个指针数组,数组里每项是一个指向字符串的指针, char **namelist = NULL; namelist = (char **) malloc(100 * sizeof(char *)); … 然后产生100个字符串,并放到namelist里 调用 qsort 对 namelist 排序 list_sort(int revflag) //revflah=1 表示逆序 { int comp_increasing(const void *, const void *); int comp_decreasing(const void *, const void *); qsort((void *)namelist, 100, sizeof(char *), (revflag comp_decreasing:comp_increasing)); } comp_increasing(char **p1, char **p2) { return strcmp( (char*) *p1, (char *) *p2); } comp_decreasing(char **p1, char **p2) { return strcmp( (char*) *p2, (char *) *p1); } |