如题所述
先找到这个元素在数组中的位置n,然后:
void remove_from_array(int *a, int n, int &l)//从数组a中删除第n个元素。l为数组原始长度,引用传参,所以可以将新的长度带回主调函数。如果成功,函数返回0,否则函数返回-1。 {
if(a == NULL || n<0 || l < 0 || n>=l)return ;
int i;
for(i = n; i < l-1; i ++)
{
a[i] = a[i+1];//依次用后续一个元素覆盖前一个元素,直到数组尾。
}
l--;
}
void remove_from_array(int *a, int n, int &l)//从数组a中删除第n个元素。l为数组原始长度,引用传参,所以可以将新的长度带回主调函数。如果成功,函数返回0,否则函数返回-1。 {
if(a == NULL || n<0 || l < 0 || n>=l)return ;
int i;
for(i = n; i < l-1; i ++)
{
a[i] = a[i+1];//依次用后续一个元素覆盖前一个元素,直到数组尾。
}
l--;
}
温馨提示:答案为网友推荐,仅供参考