这很基础,但我找不到有效的答案。我知道我必须使用其他方式逐个移动数组值,但以下代码会使items[k]到items[infinity]的所有值都等于items[k]。我不明白的是如何在将k值复制到k+1时保留原始的k+1值。
if ( i < numItems) //if i is inside the used boundaries of the array
{
for (int k = i; k < numItems; k++) //shift the array values from point i
{
double temp = 0.0;
temp = items[k];
items[k+1] = temp;
}
items[i] = value; //and insert value into i
}
必须使用递归方法吗?
memmove
之后,你应该设置items[0] = value;
。 - Frerich Raabe