1 设待排序的的记录为(150, 130(1), 92 ,42,461, 77 ,183, 130(2)),分别写出直接插入排序,二分插入排序,Shell排序,直接选择排序,堆排序(小根堆),快速排序,归并排序和基数排序的各趟结果。
(1)直接插入排序
解:
数据结构八大排序

(2) 二分插入排序
数据结构八大排序

排序的过程:
举例说明:当i=6时,在已经排好序的42,77, 92,130(1),151,461中插入183;
Step 1: low=0,high=5,mid1=(low+high)/2=2(向下取整),mid1=2上 的值为92小于183,所以在mid1右半部继续查找插入;
Step 2: low=mid1+1=3,high=5,mid2=(low+high)/2=4,又因为mid2上的值小于183,high上的值大于183,所以把183插入151之后即可,二分插入完成。
最终的排序结果为 42 ,77,92,130(1),130(2),151,183 ,461。

(3)希尔排序
数据结构八大排序

(4)直接选择排序
解:
数据结构八大排序

(5)堆排序:
解:先将全部数字顺序生成:完全二叉树,
数据结构八大排序
数据结构八大排序
数据结构八大排序

数据结构八大排序
(6)快速排序:
解:
数据结构八大排序
快速排序结果:42,77,92,130(1),130(2),151,183,461。

(7)归并排序:
解:
数据结构八大排序
归并排序结果:42,77,92,130(1),130(2),151,183,461

(8)基数排序:
数据结构八大排序

相关文章:

  • 2021-05-25
  • 2021-11-11
  • 2021-11-21
  • 2021-07-20
  • 2021-06-04
  • 2021-12-04
  • 2022-02-17
  • 2022-12-23
猜你喜欢
  • 2021-07-27
  • 2021-09-07
  • 2021-12-06
  • 2021-10-12
  • 2021-04-24
  • 2021-05-05
  • 2022-02-28
相关资源
相似解决方案