首页 > 试题广场 >

对数据序列{ 15,9,7,8,20,-1,4 }进行排序,

[单选题]

对数据序列{ 15,9,7,8,20,-1,4 }进行排序,进行一趟后数据的排序变为{ 9,15,7,8,20,-1,4 ,则采用的是( )算法。

  • 直接选择排序
  • 冒泡排序
  • 直接插入排序
  • 希尔排序
1.选择排序是每次选择未排序子列中最大(最小)的放到最后,显然4不是最值,所以A不对;
2.冒泡排序是相邻两两比较,把最大的顶上去,显然边上两个元素不是最值,所以B也不对;
3.希尔排序是先分组,然后针对组内采取插入排序,如果是希尔排序,那么9和15颠倒,20和-1也应该颠倒,所以D也不对;
排除下来选C。
插入排序是从第二项开始与前面每一项比较,如果小于那一项,则插入那一项前面,C中第二项9比15小,所以放到15前面。

发表于 2017-08-16 18:19:15 回复(3)
希尔排序的话,就大致有序,不会出现 -1 在很靠后的情况
发表于 2017-11-03 16:03:15 回复(0)
插入排序是从第二项开始与前面每一项比较,小于那一项,则插入那一项前面。
发表于 2022-01-23 15:37:20 回复(0)
这题看错了,把15看成了1,5,然后就做错了,正确答案确实是选择排序。
发表于 2021-08-16 17:59:39 回复(0)
直接插入不是从最后一个元素向前进行比较的吗
发表于 2019-04-27 19:40:37 回复(1)
插入排序,因为只改变了两个元素的位置,插入排序是分成已排序和待排序的,第一趟已排序是2。其他算法一趟下来都不止改变一个元素的位置
发表于 2019-02-08 17:27:28 回复(0)