首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对记录(54,38,96,23,15,72,60,45,83
[单选题]
对记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第八个记录45插入到有序表时,为找到插入位置需比较()次
4
6
5
3
查看答案及解析
添加笔记
邀请回答
收藏(239)
分享
22个回答
添加回答
0
逢考必过丫
插入排序的原理搞明白,当进行45的插入时,前面的数有15 23 38 54 60 72 96 这样就需要和96 72 60 54 38 进行比较,一共是5次。
发表于 2018-09-09 19:58:12
回复(0)
更多回答
27
推荐
宫保鸡丁没萝卜
由插入排序算法,当要插入第八个元素时,前七个元素已经有序为:
15 23 38 54 60 72 96
第八个记录45从后向前比较到38时,45>38,找到了前八个元素有序应该放的位置,停止循环,从96到38,共比较了5次。
选择C
编辑于 2017-05-23 14:24:18
回复(7)
3
🎉201909271532691
。。。。为啥不是从前往后? 4次
发表于 2020-03-22 21:33:47
回复(1)
2
想风一样自由
正确答案D 哎, 也就是从前向后比较的,
发表于 2017-07-01 12:07:20
回复(0)
1
216JK445
插入排序过程:
第一步: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-04-08 21:12:58
回复(0)
1
青山崖野
for(i=2;i<=length;i++){
if(r[i]<r[i-1]) {
r[0]=r[i]; //放在哨兵的位置
for(j=i-1;r[j]>r[0];j--)
{r[j+1]=r[j];} //后移
r[j+1]=r[0]; //哨兵的记录放在该位置
}
}
到45时,
已有:15 23 38 54 60 72 96
比较45<96,然后依次后移,72 60 54, 38不满足,循环停止。共比较5次。
发表于 2017-07-05 11:23:08
回复(0)
11
嘿嘿¬_¬
这题直接数前面有几个比它自己大的数然后 +1 就好了
插入排序从后往前比, 当第八个记录45要插入时, 前面必然是有序的, 所以要比较比它本身大的数.
+1是因为最后还要和比它小一点的数比较一次, 才能确定它插入的位置
所以答案是: 4+1
发表于 2018-08-14 08:54:16
回复(0)
3
mengyang
发表于 2020-10-18 21:00:37
回复(0)
3
Jinso
他的前面的元素已经默认有序了,往里面插入时需比他大的元素肯定要比,然后再比较一个比它小的表示,最终位置找到。即为前面比他大的元素个数+1;
编辑于 2019-04-26 09:32:11
回复(0)
3
正在卷的马里奥
因为涉及到元素的移动,向后移动,所以要从后往前比较,这样比较一次还能移动一次,如果从前往后,移动会很难受。所以5次。C
发表于 2018-08-22 17:02:04
回复(0)
2
三叶堇
插入排序是从后往前比较的,因为左边已经是有序的了
发表于 2020-05-04 23:05:37
回复(0)
0
零零一同学
从前往后 15,23,38,54,60,72,83,96,要依次比较到54,不应该是4吗?从后往前也是比较到38,答案是6啊。答案是5我想不通
发表于 2022-10-21 21:01:34
回复(0)
0
鸣蜩铃兰香
咱就是说,题目能不能说明一下是升序还是降序!(虽然我选对了)
发表于 2022-03-04 19:59:55
回复(0)
0
Juventus-小九
插入排序从后往前比,当第八个记录45要插入时,前面必须有序。数前面有几个比自己大的数加1
发表于 2022-02-14 10:59:09
回复(0)
0
BunVege
主要是从后往前比较,然后插入
发表于 2020-04-06 15:17:55
回复(0)
0
一念清浊
c我知道,那a呢?为什么不能跟小的比?从前往后就是4次啊,这又不说清楚
发表于 2019-12-19 14:26:00
回复(0)
0
倒立拿offer
从后向前比较,参考代码可知。
发表于 2018-08-14 08:41:54
回复(0)
0
必胜!!
由插入排序算法,当要插入第八个元素时,前七个元素已经有序为:
15 23 38 54 60 72 96
第八个记录45从后向前比较到38时,45>38,找到了前八个元素有序应该放的位置,停止循环,从96到38,共比较了5次
发表于 2018-07-09 21:17:45
回复(0)
0
poppybrown
如果从大到小排,从后往前比,不就是四次么?
发表于 2018-05-14 19:49:48
回复(0)
0
22岁开始🎈
同理,想问为什么不能是从前往后比较?如果那样不就是4次了吗
发表于 2018-01-27 10:07:27
回复(0)
0
牛客288493号
直接插入排序从后向前依次比较插入
编辑于 2017-08-09 16:25:49
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
2017
京东
排序
Java工程师
上传者:
牛100
难度:
22条回答
239收藏
3299浏览
热门推荐
相关试题
有两根粗细均匀的香,每根燃尽需1小...
京东
智力题
评论
(11)
体育课测验(二)
广度优先搜索(BFS)
拓扑排序
dfs
评论
(2)
防火墙是怎么实现的?
计算机网络基础
评论
(1)
PMOS和NMOS的区别
元器件
评论
(1)
“乔布斯不做调查,张小龙不看数据。...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题