设计一个算法,从顺序表l中(sqlist l)删除具有给定值x(elemtype x)的所有元素。
时间: 2023-04-26 15:02:01 浏览: 106
编写算法清除顺序表L中所有重复的数据元素
5星 · 资源好评率100%
算法如下:
1. 定义两个指针i和j,初始值都为。
2. 从头到尾遍历顺序表l,如果当前元素不等于给定值x,则将其赋值给l[j],并将j加1。
3. 遍历完整个顺序表后,将l的长度更新为j。
4. 返回删除后的顺序表l。
代码实现如下:
void deleteElem(sqlist &l, elemtype x) {
int i, j;
for (i = , j = ; i < l.length; i++) {
if (l.data[i] != x) {
l.data[j] = l.data[i];
j++;
}
}
l.length = j;
}
阅读全文