给定关键字序列{50,12,31,100,81,40,63,18,72,4,28,120,66,38},写出采用快速排序时第一趟排序过程中的数据移动情况。
时间: 2023-09-17 15:11:06 浏览: 105
好的,我会根据您提供的关键字序列进行快速排序的第一趟排序过程,数据移动情况如下:
1. 选取基准数,我们可以选择第一个关键字50。
2. 从右向左扫描,找到第一个小于基准数的关键字38。
3. 将38移动到基准数的位置,即将50移动到38的位置。
4. 从左向右扫描,找到第一个大于基准数的关键字100。
5. 将100移动到38原来的位置,即将38移动到100的位置。
6. 继续从右向左扫描,找到第一个小于基准数的关键字28。
7. 将28移动到100的左边,即将100移动到28的位置。
8. 继续从左向右扫描,找到第一个大于基准数的关键字81。
9. 将81移动到28的右边,即将28移动到81的位置。
10. 继续从右向左扫描,找到第一个小于基准数的关键字18。
11. 将18移动到81的左边,即将81移动到18的位置。
12. 继续从左向右扫描,找到第一个大于基准数的关键字72。
13. 将72移动到18的右边,即将18移动到72的位置。
14. 扫描完所有关键字后,将基准数50移动到72的左边,即将72移动到50的位置。
经过第一趟排序后,关键字序列变为{38, 18, 28, 4, 31, 40, 50, 81, 72, 100, 120, 66, 63},其中基准数50已经排好序。
阅读全文