删除顺序表中指定值的所有元素
时间: 2023-06-12 16:06:11 浏览: 47
删除顺序表中的元素
3星 · 编辑精心推荐
算法思路:
1.从前往后扫描顺序表,记录不等于指定值的元素的下标和个数
2.将这些元素依次向前移动,覆盖掉指定值的元素
3.将顺序表长度减去删除的元素个数
代码实现:
```C++
void deleteElem(int x, int &n, int a[])
{
int k = 0; // 记录不等于指定值的元素的下标
for (int i = 0; i < n; i++)
{
if (a[i] != x)
{
a[k] = a[i];
k++;
}
}
n = k;
}
```
时间复杂度:$O(n)$
空间复杂度:$O(1)$
阅读全文