📄 +
字号:
快速排序算法描述
快速排序(Quick Sort)是对冒泡排序的一种改进(参见冒泡排序)。
·基本思想:
排序过程是一个递归的过程。其中,一个递归算法为,将待排序的一组数划分为
两部分,前一部分的每个记录的关键字不大于后一部分的每个记录的关键字,然
后继续分别对这两部分划分,直到待划分的那部分只含有一个记录为止。
对于输入的子序列arrayP..arrayR,如果规模足够小则直接进行排序,否则分三
步处理:
1、分解(Divide):将输入的序列arrayP..arrayR划分成两个非空子序列
arrayP..arrayQ和arrayQ+1..ar,使arrayP..arrayQ中任一元素的值不大于
arrayQ+1..arrayR中任一元素的值。
2、递归求解(Conquer):通过递归调用快速排序算法分别对arrayP..arrayQ和
arrayQ+1..arrayR进行排序。
3、合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在
arrayP..arrayQ和arrayQ+1..arrayR都排好序后不需要执行任何计算
arrayP..arrayQ就已排好序。
·实现关键:
对于文件{R1,R2,...,Rn},首先将R1放置到正确的位置上,即R1左边所有记录的
关键字均不大于R1的关键字,且R1右边所有记录的关键字均不小于R1的关键字。
此为一趟快速排序。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -