c语言里面的 qsort() 函数 是什么原理??

morgan_xww 2010-06-30 08:35:09
也就是这个函数
void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );

它到底是 用的什么原理 来排序的啊???
根据我的实验得出 结果 :直接调用这个函数 确实要比自己写 选择排序和 冒泡排序法 要快的多的多。

但是我想知道, 这个函数的排序 原理到底是什么??
是 那所谓的 快速排序法 吗??
如果是 快速排序法 的话, 那么 自己写一个快速排序的算法, 是不是就和它的 计算效率一样快呢??
...全文
584 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattycat 2010-06-30
  • 打赏
  • 举报
回复
就是快速排序。自己写一个跟库的qsort差不多吧,跟数的随机分布有关。
liutengfeigo 2010-06-30
  • 打赏
  • 举报
回复
可以去看源码
fanster28_ 2010-06-30
  • 打赏
  • 举报
回复
是快速排序,c的qsort效率一般,就是单纯的快速排序

看C++ STL sort的实现,预处理过后的快速排序,对有序情况下也不会那么差
AlanBruce 2010-06-30
  • 打赏
  • 举报
回复
。。。。。。
BluntBlade 2010-06-30
  • 打赏
  • 举报
回复
是否能比标准库的快不得而知。
不过,错误处理、边界条件处理也许没标准库来得正确。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧