删除顺序表中所有值为x的元素 指针
时间: 2023-04-09 14:04:57 浏览: 102
删除顺序表中的元素
3星 · 编辑精心推荐
可以使用双指针法,一个指针指向当前元素,另一个指针指向下一个要被覆盖的位置。遍历整个顺序表,如果当前元素不等于x,则将其复制到下一个位置,同时将下一个位置指针向后移动一位。如果当前元素等于x,则直接跳过,不进行复制。最后,将顺序表的长度更新为下一个位置指针的值即可。
以下是示例代码:
void delete_x(int* arr, int n, int x) {
int i = 0, j = 0;
while (i < n) {
if (arr[i] != x) {
arr[j] = arr[i];
j++;
}
i++;
}
n = j;
}
阅读全文