生活服务
快速排序步骤
2025-01-03 09:41  浏览:66


这里用的是递归的方式,因此会执行多遍,这里介绍只介绍第一轮递归,后面的与本次一样
var arr = [6, 8, 12, 6, 7, 9, 3, 4, 19]
定义三个值
第一个i,i代表的是最左侧值的下标.var i = 0
第二个j,j代表的是最右侧值的下标.var j = arr.length - 1
第三个key值,默认取最左侧的值 var key = arr[i] = 6

接下来就是费脑环节了,仔细一步步的跟着思路走,

(1)先从右侧起寻找比key(6)小的值,如果没有j--,再进行下轮寻找,可以找到j = 7, i = 0时 4 < 6停止循环
执行操作(i++先赋值在增1)
arr[i++] = arr[j]
即arr[1] = 4
arr = [4, 8, 12, 6, 7, 9, 3, 4, 19]

(2)接下来从左侧寻找比key(6)大的值,如果没有i++,再进行下轮寻找,可以找到当i = 1,j = 7时 8 > 6停止循环
执行操作(j--先赋值再减1)
arr[j--] = arr[i]
即arr[7] = 8
arr = [4, 8, 12, 6, 7, 9, 3, 8, 19]

(3)继续循环
此时i = 1,j = 6
从右侧寻找比key(6)小的值,可以找到i = 1,j = 6时 3 < 6,停止循环
执行操作
arr[i ++] = arr[j]
arr[1] = arr[6]
arr = [4, 3, 12, 6, 7, 9, 3, 8, 19]

(4)此时i = 2,j = 6
从左侧找比key大的值,找到 i = 2,j = 6 时12 > 6,停止循环
执行操作
arr[j --] = arr[i]
arr[6] = arr[2]
arr = [4, 3, 12, 6, 7, 9, 12, 8, 19]

(5)此时i = 2,j = 5
从右侧开始寻找比key小的值
发现直到i === j 即 2 === 2时也没找到,所以第一轮递归结束
此时设置arr[i] = key,arr[2] = 6
arr = [4, 3, 6, 6, 7, 9, 12, 8, 19]

(6)接下来就是将数组形式上分割成两部分,分别递归
this.quickSort(arr, left, j - 1)
this.quickSort(arr, j + 1, right)

this.quickSort(arr,0,1) [4, 3]
this.quickSort(arr, 3, 8) [6, 7, 9, 12, 8, 19]

依次进行下去即可,不信的话可以按照上面的方式继续推导
下面写一下(arr,0,1)接下来的过程,仔细观察
原始数据 arr = [4, 3, 6, 6, 7, 9, 12, 8, 19]

(1)[4, 3]
定义三个值
第一个i,i代表的是最左侧值的下标.var i = left = 0
第二个j,j代表的是最右侧值的下标.var j = j - 1 = 1
第三个key值,默认取最左侧的值 var key = arr[i] = 4
从右侧找比4小的值,发现第一个就是于是执行
arr[i++] = arr[j]
arr[0] = arr[1]
于是数组变成了
arr = [3, 3, 6, 6, 7, 9, 12, 8, 19]
i = 1

(2)接下来从左侧开始找比key大的值,此时发现i === j
所以终止循环执行arr[i] = key
arr[1] = 4
arr = [3, 4, 6, 6, 7, 9, 12, 8, 19]
好了这半个就结束了

下一个就是[6, 7, 9, 12, 8, 19]这半个的操作了,重复以上操作即可

    以上就是本篇文章【快速排序步骤】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/tnews/4937.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
腾讯围棋(野狐)手机版最新版中国象棋手机版「腾讯围棋(野狐)手机版最新版」
中国象棋竞技版最新版是有着很多经典的象棋残谱的经典益智游戏,在这里解锁自己感兴趣的棋谱,不管是是和电脑竞技还是真人pk,都
小米手机掉水里了应该怎么处理手机掉水里怎么处理「小米手机掉水里了应该怎么处理」
在日常生活中,我们难免会遇到一些突发情况,比如小米手机不慎掉入水中。面对这种情况,如果处理不当,可能会导致手机严重损坏。
有钱人“买爆”上海豪宅,有楼盘卖出200亿!去年多个“10万+”豪宅“日光”
本文来源:时代财经 作者:陈泽旋图源:图虫创意有钱人仍在楼市发挥他们的“钞能力”。近日,来自上海的中高端改善型项目海玥黄
华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍华为手机驱动「华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍」
近日有些朋友询问能否用华为Watch GT 3远程控制拍摄照片?以下是相关说明。(注:以上为简化版文本)华为WatchGT3支持遥控拍照,
谱写中印尼命运共同体新篇章
王鲁彤 中国和印度尼西亚是隔海相望的好邻居、命运与共的好伙伴,两国友谊源远流长。古代海上丝绸之路曾将双方紧密联系在一起,
东京股市继续上涨
  新华社东京4月18日电(记者钱铮)受医药和生物相关股普遍上涨拉动,日本东京股市18日继续上涨。日经225种股票平均价格指数收
如何有效格式化手机以清理存储空间和提升性能手机格式化是什么意思「如何有效格式化手机以清理存储空间和提升性能」
  在现代社会,手机已经成为我们生活中不可或缺的一部分。随着时间的推移,手机中的数据会逐渐增多,可能会导致设备运行缓慢,
如何快速关闭手机勿扰模式?详细步骤解析!手机勿扰模式在哪里「如何快速关闭手机勿扰模式?详细步骤解析!」
如何在Android手机上关闭勿扰模式 通过快捷设置关闭:用户可从屏幕顶部向下滑动以打开通知面板,接着找到“勿扰模式”图标(通常
microsd卡是什么卡手机sd卡是什么「microsd卡是什么卡」
  microsd卡是什么卡,很多人都有这样的疑问吧?下面就让我来为大家介绍一下吧!microsd卡是什么卡?  其实,MicroSD卡是一种
名茶汇聚的安徽,何以大而不强?
01为何名茶多,但名企少、名牌也少?说起安徽茶叶,大家第一印象是名优茶多,但这并不意味着龙头企业、知名品牌也多。中国十大名