我目前正在努力编写一个循环,该循环从 an 中的某个点开始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()
. 我需要对循环进行编码。