设为首页 加入收藏

TOP

C/C++qsort()快速排序的用法
2014-11-23 17:51:30 】 浏览:1135
Tags:C/C qsort 快速 排序 用法

  C语言中排序的算法有很多种,系统也提供了一个函数qsort()可以实现快速排序。原型如下:


  void qsort(void *base, size_t nmem, size_t size, int (*comp)(const void *, const void *));


  它根据comp所指向的函数所提供的顺序对base所指向的数组进行排序,nmem为参加排序的元素个数,size为每个元素所占的字节数。例如要 对元素进行升序排列,则定义comp所指向的函数为:如果其第一个参数比第二个参数小,则返回一个小于0的值,反之则返回一个大于0的值,如果相等,则返 回0。


  例:


  #include


  #include


  int comp(const void *, const void *);


  int main(int argc, char *argv[])


  {


  int i;


  int array[] = {6, 8, 2, 9, 1, 0};


  qsort(array, 6, sizeof(int), comp);


  for (i = 0; i < 6; i ++) {


  printf("%d\t", array[i]);


  }


  printf("\n");


  return 0;


  }


  int comp(const void *p, const void *q)


  {


  return (*(int *)p - *(int *)q);


  }


  运行结果如下:


  0 1 2 6 8 9


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于printf函数的一些理解 下一篇BerkeleyDB数据访问算法说明

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目