以关键字序列(265,301,751,129,937,863,742,694,076,438)为例,分别写出执行以下排序算法的各趟排序结束时,关键字序列的状态: (1)直接插入排序 (2)希尔排序(增量d=5、3、1) (3)快速排序 (4)堆排序 (5)归并排序 (6)基数排序
时间: 2024-06-01 14:07:49 浏览: 231
好的,我来根据您给出的关键字序列,分别执行这几种排序算法,并在每一趟排序结束时,将序列状态输出来:
(1) 直接插入排序:
第一趟排序:265 301 751 129 937 863 742 694 76 438
第二趟排序:76 265 301 751 129 937 863 742 694 438
第三趟排序:76 265 301 438 751 129 937 863 742 694
第四趟排序:76 129 265 301 438 751 937 863 742 694
第五趟排序:76 129 265 301 438 694 751 937 863 742
第六趟排序:76 129 265 301 438 694 742 751 937 863
第七趟排序:76 129 265 301 438 694 742 751 863 937
第八趟排序:76 129 265 301 438 694 742 751 863 937
第九趟排序:76 129 265 301 438 694 742 751 863 937
(2) 希尔排序:
增量d=5时:
第一趟排序:863 301 751 129 438 265 742 694 76 937
第二趟排序:76 265 742 129 438 301 694 751 863 937
第三趟排序:76 129 265 301 438 694 742 751 863 937
增量d=3时:
第一趟排序:129 265 742 301 438 76 751 694 863 937
第二趟排序:76 129 265 301 438 694 742 751 863 937
第三趟排序:76 129 265 301 438 694 742 751 863 937
增量d=1时:
第一趟排序:76 129 265 301 438 694 742 751 863 937
(3) 快速排序:
第一趟排序:438 129 265 76 301 751 863 937 742 694
第二趟排序:76 129 265 301 438 694 742 751 863 937
(4) 堆排序:
第一趟排序:937 863 751 694 438 301 742 265 129 76
第二趟排序:863 751 742 694 438 301 265 129 76 937
第三趟排序:751 694 742 129 438 301 265 76 863 937
第四趟排序:694 438 742 129 265 301 76 863 751 937
第五趟排序:438 265 301 129 76 694 742 863 751 937
第六趟排序:301 129 76 265 438 694 742 863 751 937
第七趟排序:265 129 76 301 438 694 742 863 751 937
第八趟排序:129 76 265 301 438 694 742 863 751 937
(5) 归并排序:
第一趟排序:265 301 751 129 437 863 742 694 76 937
第二趟排序:129 265 301 437 751 742 863 76 694 937
第三趟排序:76 129 265 301 437 694 742 751 863 937
(6) 基数排序:
第一趟排序:751 742 863 265 437 937 438 129 694 76
第二趟排序:437 438 129 265 694 751 742 863 76 937
第三趟排序:76 129 265 437 438 694 742 751 863 937
以上就是每趟排序结束时,关键字序列的状态。
阅读全文