校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 直接插入排序
题目

对记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第八个记录45插入到有序表时,为找到插入位置需比较()次

A.4

B.6

C.5

D.3

解答

正确答案是 C

由插入排序算法,当要插入第八个元素时,前七个元素已经有序为:
15 23 38 54 60 72 96
第八个记录45从后向前比较到38时,45>38,找到了前八个元素有序应该放的位置,停止循环,从96到38,共比较了5次。
C 13条回复 评论
雪影红双

我都是直接排序的 没算过啊

发表于 2020-10-28 11:19:33
0 0
蒋泽伟

这评论还不能删啊咋 数数数错了还不给个改过自新的机会嘛

发表于 2020-10-28 10:39:19
0 0
蒋泽伟

这评论还不能删啊咋 数数数错了还不给个改过自新的机会嘛

发表于 2020-10-28 10:39:03
0 0
蒋泽伟

这个题不好,从前面开始比较跟从后面开始比较都是5次,有争议

发表于 2020-10-28 10:19:49
0 0
狂奔的蜗牛

把前面七个排序完成后,再拿45进行比较,比较五次即可找到位置

发表于 2020-10-28 10:16:39
0 0
执惗 * 妄念

5次,先排序,后面比较四次后与之相等,在向后比较一次,成功。

发表于 2020-10-28 10:11:36
0 0
厂牌代理人

55555555555

发表于 2020-10-28 10:10:54
0 0
雨声敲敲

插入排序过程:

第一步:54
第二步:比较38与54,将38插入到54前面,38 54
第三步:比较96与54,将96插入到54后面,38 54 96
第四步:比较23与96,23与54,23与38,将23插入到38 前面,23 38 54 96
第五步:比较15与96,15与54,15与38,15与23,将15插入到23前面, 15 23 38 54 96
第六步:比较60与96,60与72,60与54,将60插入到72前面54后面,15 23 38 54 60 72 96

现在要插入48,需要进行的比较是:48与96,48与72,48与60,48与54,48与38,将48插入到38后面54前面,一共需要5次比较

发表于 2018-10-13 13:41:57
0 0
先锋

由插入排序算法,当要插入第八个元素时,前七个元素已经有序为:

15 23 38 54 60 72 96

第八个记录45从后向前比较到38时,45>38,找到了前八个元素有序应该放的位置,停止循环,从96到38,共比较了5次

发表于 2018-10-13 13:41:39
0 0
落星辰

因为涉及到元素的移动,向后移动,所以要从后往前比较,这样比较一次还能移动一次,如果从前往后,移动会很难受。所以5次。C

发表于 2018-10-13 13:41:13
0 0