快速排序方法的简单解释实在是看不懂书上的讲解啊比如下面这个数列吧70,75,82,90,23,16,10,68如果用快速

快速排序方法的简单解释
实在是看不懂书上的讲解啊
比如下面这个数列吧
70,75,82,90,23,16,10,68
如果用快速排序步骤是什么?
fpx2005 1年前 已收到1个回答 举报

ainilaopo 幼苗

共回答了20个问题采纳率:95% 举报

快排的思想是(假设都是从小到大排列):
选一个值作为“轴值”,所有小于轴值的都移动到轴值左边,所有大于轴值的都移动到轴值右边.这一步是让数列变得较为有序
然后分别再对轴值的左边、右边分别进行快排,一步一步提高整个数列的有序程度,直到最后完全有序.
轴值的选取有多种方式,这里就假设是选正中间的一个
70,75,82,90,23,16,10,68
选择轴值 90,排列后得到:
70,75,82,23,16,10,68,(90)
括号括起来的我表示是轴值,这里运气不好,轴值选中了一个最大的
下面对轴值左边排序,在选择轴值为23:
16,10,(23),70,75,82,68
再分别对16,10 和 70,75,82,68进行排序
一般快排在待排序的数字个数较少时,会选取其它排序来进行排列,比如插入排序.这里16,10数字个数已经太少,用插入排序排成10,16
然后对 70,75,82,68进行排序……
整个排序过程就这样

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.097 s. - webmaster@yulucn.com