快速排序的过程?

求高手解释一下,我看不懂。... 求高手解释一下,我看不懂。 展开
 我来答
我爱qrs
推荐于2017-09-26
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
首先要排的是第一个数a,目的是:a前的数比a小,a后的数比a大
49 38 65 97 76 13 27
第一次:27 38 65 97 76 13 49 (49和27比)
第二次:27 38 65 97 76 13 49 (49和38比)
第三次:27 38 49 97 76 13 65 (49和65比)
第四次:27 38 13 97 76 49 65 (49和13比)
第五次:27 38 13 49 76 97 65 (49和97比)
第六次:27 38 13 49 76 97 65 (49和76比)
始终拿无序序列的第一个数与其他数进行比较,49;
49在序列的左侧时与从右侧起第一个没有和它比较过的数比,小于49则和49调换位置,大于49的位置不变;49在右侧时方法类似;
(27 38 13)49(76 97 65)这样得到两组长度较短的无序数,非别排序
用27和38,13比较
用76和97,65比较
创作者AWraaZEefl
2019-08-24 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:1432万
展开全部
快速排序的概念很简单就是把序列分成三部分。一个中点,中点的左边都比中点“小”,右边都比中点“大”
然后再分别对左右两边进行相同的处理。可以想象这样会把序列不断切分。而当序列小于三个元素的时候,这么处理的结果就是从小到大排列。
这部分很简单,关键是怎么分那三部分。一般是这么做,换个序列...
8
4
2
1
7
首先取正中的元素,这里是2
然后再左边找比2大的,第一个8就是
再从右边找比2小的,是1
我们交换8和1
1
4
2
8
7
然后继续,1之后比2大的是4
但是8之后已经没有比2小的了,我们只能把2和4交换,同时记录中点的位置(因为2挪地方了)
1
2
4
8
7
然后2左边只有1个元素不用再处理了
右边的4
8
7我们以8为中点。
按照刚才的方法这里需要把8和7交换
4
7
8
8右边没了,处理4
7,就不说了,而且这个本身顺序也没问题,拼起来就是
(1)
2
((4
7)
8)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pk246
2008-08-15 · TA获得超过400个赞
知道答主
回答量:402
采纳率:0%
帮助的人:0
展开全部
使用qsort
qsort(指向字符串的指针,多少元素,每个元素的大小(字节),比较函数);

要自己练习下就知道啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
布淘气
2008-08-15 · TA获得超过123个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:0
展开全部
你指的具体是哪种快速排序???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式