快速排序算法实例

老班跳楼了 1个月前 已收到1个回答 举报

刘漾西子 3星

共回答了333个问题采纳率:94.5% 评论

对关键码序列(66,13,51,76,81,26,57,69,23)进行快速排序。

求第一趟划分后的结果。关键码序列递增。以第一个元素为划分基准。将两个指针i,j分别指向表的起始和最后的位置。反复操作以下两步:

1、j逐渐减小,并逐次比较j指向的元素和目标元素的大小,若p(j)<T则交换位置。

2、i逐渐增大,并逐次比较i指向的元素和目标元素的大小,若p(i)>T则交换位置。

直到i,j指向同一个值,循环结束。

快速排序是对冒泡排序的一种改进,基本思路如下:先从数列中取出一个数作为基准数将数组中比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边再对左右区间重复第二步,直到各区间只有一个数。

快速排序算法是对冒泡排序的一种改进。快排基本思想是:通过一趟排序将要排序的数据以基准数据分割成独立的两部分。

其中一部分的所有数据都比基准数据小,另外一部分的所有数据都比基准数据大,然后再通过递归对这两部分数据分别进行快速排序,实现整个数据变成有序序列。

9小时前

22
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com