【发布时间】:2015-06-26 10:52:33
【问题描述】:
我的插入排序代码是:
class insertionsort
{
public static void main(String s[])
{
int []A={12,5,8,87,55,4};
int []R=sort(A);
for(int i=0;i<A.length;i++)
{
System.out.println(R[i]);
}
}
static int[] sort(int A[])
{
int key,i,j;
for(j=1;j<A.length;j++)
{
key=A[j];
i=j-1;
while(i>=0 && A[j]<A[i])
{
A[j]=A[i];
i--;
}
A[i+1]=key;
}
return A;
}
}
但结果不正确。但是,如果我在 while 循环条件中将 A[j] 替换为 key 并在 while 循环主体中将 A[j] 替换为 A[i+1],代码会生成正确的结果。 A[j]和key和A[j]和A[i+1]之间有什么区别吗?
【问题讨论】:
-
相关,你的意思是正确的吗?
-
是的。我没有得到预期的结果
标签: java sorting insertion-sort