怎么在执行过程中向数组里插入或删除一个数值?

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:50:45
是一维数组。
各位高手,我是菜鸟,请说清楚点。

数组是顺序排列的如果要插入一个数值则要把后面的每一个数值向后移。
删除则要把后面的数值向前移。
如果要在长度为k的数组第i个数值后面插入一个数值m
for(k=n-1;k>i;k--)
{
a[k]=a[k-1];
}
a[i]=m;
如果要在长度为k的数组第i个数值后面插删除一个数值
for(k=i;k<n-1;k++)
{
a[k]=a[k+1];
}

删除可以用懒惰删除,即标记为删除,否则如果该数组不是链表结构,就只能将插入/删除以后的元素全部移动一位