Java简单插入排序中为什么是a[j + 1] = temp;而不是a[j]=temp

有没有人在啊,想请教一下,Java简单插入排序中为什么是a[j + 1] = temp;而不是a[j]=temp
最新回答
鹿人甲驴人乙

2024-11-26 09:06:02

我觉得是通过第二个for循环找出temp应该放置在a[j]处,但for循环中j--是循环体结束之后在减一,j会比数组挪动的位置-1,因此后面需要a[j+1]=temp;这是我个人的理解
含悦人道

2024-11-26 08:59:56

因为j是从0开始计算的。i是从1开始计算的。所以为了同步数据。
a[j + 1] = temp
追问
以前俩个数字为例,temp应该赋值给a[j];  一直搞不明白
雪蝶宿秋风

2024-11-26 08:41:42

参考for循环的执行步骤,先是执行内部代码再执行自减,所以执行完成后在for循环外部还有一次自减

,这个例子看for循环内外应该就能懂了