首页 > 其他分享 >pta 6-3 快速排序

pta 6-3 快速排序

时间:2023-01-08 13:12:00浏览次数:39  
标签:右边 找到 47 基准 交换 pta 排序 快速

这里用到了折半查找,

原理
快速排序类似折半查找,每轮会定义一个基准数值,对其它数值左右同时查找,将小于基准数值的数放在左边,大于的放在右边。

初始无序数列:

第一轮快速排序

设第一个元素47为基准,L代表左边当前表示的数,R代表右边。

从右边先开始找,找到小于基准47的数停下。

再从左边开始找,找到大于基准47的数停下

交换两个数,再重复右边开始继续寻找

右边找到43

左边找到87

交换,再继续寻找

右边找到43,左和右到了一起,则将当前位置的数与假设的基准数进行交换

第一轮排序结束,47已结出现在了正确的排序位置上。

然后递归他就行了

 

 

 写代码时可先while循环R,直到找到小的直接跟L位置交换,再while循环L,找到大的直接跟R交换。

标签:右边,找到,47,基准,交换,pta,排序,快速
From: https://www.cnblogs.com/shifangchen/p/17034431.html

相关文章

  • 快速部署Apache服务静态网站
    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速、可靠并且......
  • PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
    在php中自带了大量了数组排序函数,下面我们一一来介绍一下关于php数组排序的用法吧。sort()函数用于对数组单元从低到高进行排序。rsort()函数用于对数组单元从......
  • 冒泡排序算法
    基本原理比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。......
  • 2022朝花夕拾-持续快速成长
    ​​2022年又过去了,学业繁忙好久没和大家聊天了。​​2020年终总结2020朝花夕拾-不务正业的大学生做了什么比赛?​​和​​2021年终总结2021朝花夕拾-我在校搞副业实现经济......
  • 如何在快速迭代开发中写清楚需求,提高与软件工程师的沟通效率
    作为一名产品经理或软件设计师,需求是与软件工程师的沟通的成果,描述清楚需求并能得到软件工程师的正确理解,并不简单。本文适用快速迭代开发模型,需求即可指导开发,无需编写详......
  • 冒泡排序,快速排序
        ......
  • 蓝桥杯——不就是几个排序嘛!
    一、前言时间过得真的好快,转眼间看到自己第一篇关于蓝桥杯的文章,已经过了7天了陆陆续续还好我在坚持学习算法的路上并不容易,但是其实不枯燥,还好吧。......
  • Object.keys()的默认排序
    constobj={'name':'张三','3':'ccc','a':'000','2':'222','1':'aaa'};Object.keys(obj);console.log(obj)["1","2","3","......
  • p24-p25参数返回值局部变量以及堆排序代码实现
    函数的返回值8位(一个字节)则放到al16位放ax32位放eax64位放raxoffset偏移(可看作一个具体的地址参数传递的办法:1.寄存器2.堆栈整数类型的参数,一律使用int类型:无论......
  • FFT(快速傅里叶变换)学习笔记
    前言懒得写前言。希望学到后面的数学知识不要放弃,写在这里督促自己。(作为一个没有接触过复数的萌新)感觉再不学点东西就真的可以退役了。什么是FFT?FFT是一种将多项式......