设计一个高效算法,删除顺序表中所有元素值为x的元素,数据元素类型为整形
时间: 2023-05-11 22:02:10 浏览: 114
程序编辑实例
可以使用双指针法,将不等于x的元素移到前面,最后将剩余的元素删除即可。具体实现如下:
```c++
void deleteAllX(int* arr, int n, int x) {
int i = 0, j = 0;
while (j < n) {
if (arr[j] != x) {
arr[i] = arr[j];
i++;
}
j++;
}
while (i < n) {
arr[i] = 0;
i++;
}
}
```
其中,arr为顺序表,n为元素个数,x为要删除的元素值。
阅读全文