【C语言】qsort函数
【摘要】 【C语言】qsort函数
💥 qsort函数
C语言当中 qsort 函数 能够类似实现冒泡排序的效果。
在此说说什么是冒泡排序如下↓
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
qsort 函数的整体思路是用的是快速排序的方法,快速排序是对冒泡排序的一种改进
Ⅰ:首先设定一个分界值,通过该分界值将数组分成左右两部分。
Ⅱ:将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。
Ⅲ:然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。
Ⅳ:重复上述过程,可以看出,这是一个递归定义。通过递归将左侧部分排好序后,再递归排好右侧部分的顺序。当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。
qsort 函数详解:qsort 函数是什么类型的数据都可以进行排序,例如:整形数据、字符串数据、结构体数据,都是可以进行排序。如果是你写冒泡排序你就只能给①种数据类型进行排序,但是,在这里qsort函数就可以进行排任意的数据!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)