假设我有2个排序数组。其中一个有从另一个删除的元素。 例如删除和移位数组元素
int array1[]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int delete[]={5,9,12};
我应该如何删除从ARRAY1删除数组中指示的元素,其余的ARRAY1有效地转移?
我不想查看array1的所有元素,因为其中一些元素将保持不变。所以我想从
int j,i=0,n=0;
for(j=delete[i+n];j<delete[i+1+n];j++){
array1[i-n]=array1[i+1-n];
n++;
}
但我无法弄清楚如何做到这一点。有任何想法吗?
任何特定语言?如果不是,请标记为'language-agnostic'。 –
是否有任何限制?像数组中的值范围一样?你可以为array1使用不同的数据结构吗? –