这里为什么是i>k呢?有点不太懂

这里为什么是i>k呢?有点不太懂

for(int i=a.length-1;i>k;i--)

a.length-1是不是数组的最后一个元素,

k就是我要插入的位置[i],从[0]开始吧

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2019-08-21 11:24:55

同学你好,k为用户要插入数据的位置,当选择在位置k处插入数据时,需要把k至末尾的元素向后移,也就是前一个元素的值赋值给后一个元素,所以,这里循环条件的初始值为(数组长度-1:a.length-1),循环条件为>k(插入数据的位置)。这样才能达到从k处的数组元素至末尾数组元素向后移位的效果。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕盖茨6029426 #1
    请问你是复制粘贴的嘛?能不能用自己语言来说
    2019-08-21 11:26:12
  • 好帮手慕酷酷 回复 提问者 慕盖茨6029426 #2
    同学你好, 1、你的理解是正确的,a.length-1为数组的最后一个元素。k就是要插入的元素位置,从0开始。 2、i>k可以理解为,数组下标从后向前移动,当数组下标i移动到我们要插入的位置时,我们进行停止循环,反过来说也就是数组下标的值>插入的位置时,将一直进行循环。 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-08-21 12:10:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师