函数题:移除指定位置的值
本题要求实现一个函数,可移除指定数组中指定位置的值,要求使用高效算法:每个元素最多只能移动一次。
### 函数接口定义:
int removeA(int *A,int n,int d1,int d2);
其中 A 是数组初地址,n是数的长度,d1和d2是拟移除元素的位置,它们的值不超过n的范围。函数返回移除后实际的元素个数。
### 裁判测试程序样例:
c
函数被调用进行测试的样子可能如:
int main(){
int i,n,d1,d2;scanf("%d",&n);
srand(n);int D[n];
for(i=0;i<n;i++) D[i]=rand()%97;
d1=rand()%n;d2=rand()%n;
output(D,n);n=removeA(D,n,d1,d2);
output(D,n);
return 0;
}
/* 请在这里填写答案 */
### 输入样例:
in
6
### 输出样例:
out
78 77 10 34 64 38
78 77 10 38
答案:若无答案欢迎评论
### 函数接口定义:
int removeA(int *A,int n,int d1,int d2);
其中 A 是数组初地址,n是数的长度,d1和d2是拟移除元素的位置,它们的值不超过n的范围。函数返回移除后实际的元素个数。
### 裁判测试程序样例:
c
函数被调用进行测试的样子可能如:
int main(){
int i,n,d1,d2;scanf("%d",&n);
srand(n);int D[n];
for(i=0;i<n;i++) D[i]=rand()%97;
d1=rand()%n;d2=rand()%n;
output(D,n);n=removeA(D,n,d1,d2);
output(D,n);
return 0;
}
/* 请在这里填写答案 */
### 输入样例:
in
6
### 输出样例:
out
78 77 10 34 64 38
78 77 10 38
答案:若无答案欢迎评论