46,79,56,38,40,84快速排序
时间: 2023-04-22 09:02:46 浏览: 267
快速排序的步骤如下:
1. 选择一个基准数,一般选择第一个数。
2. 将序列中比基准数小的数放在基准数的左边,比基准数大的数放在基准数的右边。
3. 对左右两个子序列分别重复步骤1和步骤2,直到所有子序列只剩下一个元素为止。
按照这个步骤,对于序列46,79,56,38,40,84,我们可以选择第一个数46作为基准数,然后将序列分为两个子序列:
左子序列:38,40
右子序列:79,56,84
对于左子序列,我们选择第一个数38作为基准数,然后将序列分为两个子序列:
左子序列:空
右子序列:40
对于右子序列,我们选择第一个数79作为基准数,然后将序列分为两个子序列:
左子序列:56
右子序列:84
对于左子序列,我们选择第一个数56作为基准数,然后将序列分为两个子序列:
左子序列:空
右子序列:84
最后,所有子序列只剩下一个元素,排序完成。序列变为:38,40,46,56,79,84。
相关问题
用快速排序中的划分函数partition,对划分段“46,79,56,38,40,84”进行划分,请画出一次划分过程及结果
好的,我会用快速排序的划分函数对给定的划分段进行划分,并画出一次划分的过程和结果。
初始划分段:46,79,56,38,40,84
我们选择划分函数中的一个元素作为枢纽元素(pivot),这里我们选择第一个元素46作为枢纽元素。
划分过程如下:
1. 初始化左指针left指向划分段的第一个元素,右指针right指向划分段的最后一个元素。
2. 从右向左移动右指针right,直到遇到一个小于等于枢纽元素的元素。
3. 从左向右移动左指针left,直到遇到一个大于枢纽元素的元素。
4. 如果左指针left小于右指针right,则交换左指针和右指针所指向的元素。
5. 重复步骤2-4,直到左指针left大于等于右指针right。
6. 最后,交换枢纽元素与左指针left所指向的元素。
一次划分过程如下:
步骤1:初始状态
左指针:46,79,56,38,40,84
右指针:46,79,56,38,40,84
步骤2:右指针移动
左指针:46,79,56,38,40,84
右指针:46,79,56,38,40,84
步骤3:左指针移动
左指针:46,79,56,38,40,84
右指针:46,79,56,38,40,84
步骤4:交换左指针和右指针所指向的元素
左指针:40,79,56,38,46,84
右指针:46,79,56,38,40,84
步骤5:重复步骤2-4
左指针:40,38,56,79,46,84
右指针:46,79,56,38,40,84
步骤6:交换枢纽元素与左指针所指向的元素
左指针:40,38,56,79,46,84
右指针:46,79,56,38,40,84
最终划分结果:
40,38,56,79,46,84
希望这个示例对你有帮助!如果你还有其他问题,请随时提问。
若一组记录的关键字为46,79,56,38,40,84,利用快速排序的方法,以第一个记录为基准得到的第一次划分结果为
初始状态下,以第一个记录 46 为基准,左右指针分别指向数列的首尾:
```
46, 79, 56, 38, 40, 84
^ ^
left right
```
首先右指针从右向左扫描,寻找第一个小于基准数的数,找到数值为 84 的记录,右指针停止移动。接着左指针从左向右扫描,寻找第一个大于基准数的数,找到数值为 56 的记录,左指针停止移动。此时交换左右指针所指的记录:
```
46, 56, 79, 38, 40, 84
^ ^
left right
```
右指针继续向左移动,寻找下一个小于基准数的数,找到数值为 40 的记录,右指针停止移动。左指针继续向右移动,寻找下一个大于基准数的数,此时左指针已经扫描到了右指针的位置,扫描结束。
最后交换基准数和左指针所指的记录:
```
40, 56, 79, 38, 46, 84
^
left
```
第一次划分的结果为基准数 46 左侧的数均比 46 小,右侧的数均比 46 大:
```
40, 56, 38, 46, 79, 84
|
基准数 46
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)