1.以关键字序列(15,8,12,26,9,17,7,25,3,4) 为例,手工执行 以下排序算法,假设从小到大排序。 (1)前三趟直接插入排序(每趟都写): (2)希尔排序(增量序列为5,3, 1 (3)前三趟冒泡排序(每趟都写): 4)前三趟简单选择排序 (每趟都写): (5)以第一个元素为基准,一趟排序后的结果:
时间: 2024-02-26 18:54:29 浏览: 114
七种排序算法(包括直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,归并排序)
5星 · 资源好评率100%
1. 直接插入排序:
第一趟排序,将第二个元素8插入到前面已经排好序的子序列中:
[8, 15, 12, 26, 9, 17, 7, 25, 3, 4]
第二趟排序,将第三个元素12插入到前面已经排好序的子序列中:
[8, 12, 15, 26, 9, 17, 7, 25, 3, 4]
第三趟排序,将第四个元素26插入到前面已经排好序的子序列中:
[8, 12, 15, 26, 9, 17, 7, 25, 3, 4]
插入排序结束,得到有序序列:
[8, 12, 15, 26, 9, 17, 7, 25, 3, 4]
2. 希尔排序:
第一趟排序(增量为5),将序列分为5个子序列,对每个子序列进行插入排序:
[17, 4, 12, 26, 3, 15, 7, 25, 9, 8]
第二趟排序(增量为3),将序列分为3个子序列,对每个子序列进行插入排序:
[3, 4, 7, 25, 9, 8, 12, 26, 15, 17]
第三趟排序(增量为1),对整个序列进行直接插入排序:
[3, 4, 7, 8, 9, 12, 15, 17, 25, 26]
希尔排序结束,得到有序序列:
[3, 4, 7, 8, 9, 12, 15, 17, 25, 26]
3. 冒泡排序:
第一趟排序:
[8, 12, 15, 9, 17, 7, 25, 3, 4, 26]
第二趟排序:
[8, 12, 9, 15, 7, 17, 3, 25, 4, 26]
第三趟排序:
[8, 9, 12, 7, 15, 3, 17, 4, 25, 26]
冒泡排序结束,得到有序序列:
[8, 9, 7, 12, 3, 15, 4, 17, 25, 26]
4. 简单选择排序:
第一趟排序,找到最小的元素3,与第一个元素15交换位置:
[3, 8, 12, 26, 9, 17, 7, 25, 15, 4]
第二趟排序,找到第二小的元素4,与第二个元素8交换位置:
[3, 4, 12, 26, 9, 17, 7, 25, 15, 8]
第三趟排序,找到第三小的元素7,与第三个元素12交换位置:
[3, 4, 7, 26, 9, 17, 12, 25, 15, 8]
简单选择排序结束,得到有序序列:
[3, 4, 7, 8, 9, 12, 15, 17, 25, 26]
5. 快速排序:
以第一个元素15为基准,将序列分为两部分:
[12, 9, 7, 3, 4, 8] [26, 17, 25]
快速排序结束,得到有序序列:
[12, 9, 7, 3, 4, 8, 15, 26, 17, 25]
阅读全文