用C语言以关键码序列(503,087,512,061,908,170,897,275,653,426)为例,手工执行以下排序算法,写出每一趟排序结束时的关键码状态: (1)直接插入排序; (2)希尔排序(增量d[1]=5); (3)快速排序; (4)堆排序; (5)归并排序; (6)基数排序。
时间: 2023-06-17 18:02:32 浏览: 248
用C实现了排序算法中的插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、桶排序、基数排序
(1) 直接插入排序:
第1趟排序后:503, 087, 512, 061, 908, 170, 897, 275, 653, 426
第2趟排序后:087, 503, 512, 061, 908, 170, 897, 275, 653, 426
第3趟排序后:087, 503, 512, 061, 908, 170, 897, 275, 653, 426
第4趟排序后:061, 087, 503, 512, 908, 170, 897, 275, 653, 426
第5趟排序后:061, 087, 503, 512, 908, 170, 897, 275, 653, 426
第6趟排序后:061, 087, 170, 503, 512, 908, 897, 275, 653, 426
第7趟排序后:061, 087, 170, 503, 512, 897, 908, 275, 653, 426
第8趟排序后:061, 087, 170, 275, 503, 512, 897, 908, 653, 426
第9趟排序后:061, 087, 170, 275, 503, 512, 653, 897, 908, 426
第10趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
(2) 希尔排序(增量d[1]=5):
第1趟排序后:170, 087, 512, 061, 426, 503, 897, 275, 653, 908
第2趟排序后:061, 087, 512, 170, 426, 503, 897, 275, 653, 908
第3趟排序后:061, 087, 275, 170, 426, 503, 512, 653, 897, 908
第4趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
第5趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
(3) 快速排序:
第1趟排序后:275, 087, 170, 061, 426, 503, 512, 653, 897, 908
第2趟排序后:170, 087, 061, 275, 426, 503, 512, 653, 897, 908
第3趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
第4趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
(4) 堆排序:
第1趟排序后:908, 653, 897, 512, 426, 503, 170, 275, 087, 061
第2趟排序后:897, 653, 503, 512, 426, 061, 170, 275, 087, 908
第3趟排序后:653, 512, 503, 275, 426, 061, 170, 087, 897, 908
第4趟排序后:512, 426, 503, 275, 087, 061, 170, 653, 897, 908
第5趟排序后:426, 275, 170, 061, 087, 503, 512, 653, 897, 908
第6趟排序后:170, 061, 087, 275, 426, 503, 512, 653, 897, 908
第7趟排序后:087, 061, 170, 275, 426, 503, 512, 653, 897, 908
第8趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
(5) 归并排序:
第1趟排序后:087, 503, 512, 061, 170, 275, 897, 908, 426, 653
第2趟排序后:061, 087, 170, 275, 503, 512, 426, 653, 897, 908
第3趟排序后:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
(6) 基数排序:
第1趟排序后:512, 061, 653, 503, 275, 170, 087, 897, 908, 426
第2趟排序后:061, 087, 897, 908, 170, 275, 426, 503, 512, 653
最终排序结果:061, 087, 170, 275, 426, 503, 512, 653, 897, 908
阅读全文