Chinaunix首页 | 论坛 | 博客
  • 博客访问: 752682
  • 博文数量: 130
  • 博客积分: 2951
  • 博客等级: 少校
  • 技术积分: 1875
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-04 18:32
文章分类

全部博文(130)

文章存档

2013年(1)

2012年(129)

分类: C/C++

2012-10-22 18:06:43

比如有一个指针数组,数组里每项是一个指向字符串的指针,
  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. }


阅读(510) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~