问题:我想得到一个数组A [6] = {6,5,4,3,2,1}为A [6] = {5,1,1}.换句话说 – “删除”每秒从0开始的第二个值,并将所有其他值向左移动.
我的尝试:
为此,我将使用此代码,其中a – 数组A的相关部分的长度(具有未删除元素的部分),ind – 我想要删除的值的索引.
for (int j = ind; j < n; j++) A[j] = A[j+1];
但是,使用这样的代码我无法使用它:
void deleting(int A[],int& a,int ind){ for (int j = ind; j < a; j++) A[j] = A[j+1]; a--; } int A[6] = {6,1}; a = 6 for (int i = 0; i < a; i+=2) deleting(A,a,i);
运行此代码后,我得到A [6] = {5,1507485184,1507485184}.因此,它删除了索引0,3处的元素.为什么删除第3个索引?