要删除某个数组元素只要将它后面的元素向前挪一个位置就可以了,将要删除的一个元素覆盖。
int delete_arr(int *a,int pos,int n){
//pos为要删除的数组下标,n表示当前有多少个元素。
int i;
for(i=pos;i<n;i++ )a[i]=a[i+1];
return n-1;
}
而在数组中增加一个元素只需从最后一个元素依次向后挪一个位置,直到将要插入的位置空出来。
#include<iostream>
using namespace std;
int insert_arr(int *a,int pos,int x,int n){
//pos为要插入的数组下标,x 代表要插入的数,n表示当前数组有多少个有用的元素。
int i;
for(i=n-1;i>=pos;i--)a[i+1]=a[i];
//如果要插入的位置是数组末尾也没关系
a[pos]=x;
return n+1;
}
int main() {
int i,a[20],n;
for(i=0;i<10;i++)a[i]=i;
n=insert_arr(a,10,10,10);
cout<<n<<endl;
for(i=0;i<n;i++)cout<<a[i]<<" ";
return 0;
}
一个例子: