【发布时间】:2013-01-29 17:19:58
【问题描述】:
我目前正在努力编写一个循环,该循环从 Array 中的某个点开始并将其向下推到正确的一个位置,以便可以在现有值所在的位置放置一个新值,即插入排序。
到目前为止,我有一个循环可以找到值所在的位置:
int hold=0;
for (int j = 0; j < nElements; j++)
{
int temp = list[j];
if (temp <= value)
{
hold = j;
}
}
我现在正在写 for 循环,它会改变一切。 我有:
for (int j = hold; j >= numElements; j--)
{
int temp = list[j];
list[j] = value;
list[j+1] = temp;
}
nElements 是我存储在数组中的当前整数的数量。
当我调用将整数添加到数组的方法时,所做的只是在点 0 中插入第一个数字。再次调用该方法时,根本不会添加数字。
我也不能使用像 System.arraycopy() 这样的预定义方法。我需要编写循环代码。
【问题讨论】:
-
这不是一个真正的问题,您需要提出一个问题,例如“我运行此代码并且它确实......但我希望它这样做......”