C小程序 - qsort排序函数

548阅读 0评论2012-10-22 niannian
分类:C/C++

比如有一个指针数组,数组里每项是一个指向字符串的指针,
  1. char **namelist = NULL;
  2. namelist = (char **) malloc(100 * sizeof(char *));
  3. ....
  4. 然后产生100个字符串,并放到namelist里
调用 qsort 对 namelist 排序

  1. list_sort(int revflag) //revflah=1 表示逆序
  2. {
  3.     int comp_increasing(const void *, const void *);
  4.     int comp_decreasing(const void *, const void *);

  5.     qsort((void *)namelist, 100, sizeof(char *),
  6.             (revflag?comp_decreasing:comp_increasing));
  7. }

  8. comp_increasing(char **p1, char **p2)
  9. {
  10.     return strcmp( (char*) *p1, (char *) *p2);
  11. }

  12. comp_decreasing(char **p1, char **p2)
  13. {
  14.     return strcmp( (char*) *p2, (char *) *p1);
  15. }


上一篇:C小程序 - 从用户id或组id获得用户名或组名
下一篇:stat文件结构