编写算法,在一非递减的顺序表l中,删除所有值相等的多余元素
时间: 2023-04-23 22:06:07 浏览: 236
设计算法实现删除顺序表中多余重复元素.txt
算法如下:
1. 初始化一个变量last,表示上一个不重复的元素的下标,初始值为。
2. 从第二个元素开始遍历顺序表l,如果当前元素与上一个元素相等,则继续向后遍历,直到找到一个不相等的元素为止。
3. 找到不相等的元素后,将其复制到last+1的位置,更新last的值为last+1。
4. 重复步骤2和3,直到遍历完整个顺序表l。
5. 将last+1之后的元素全部删除,即可得到删除所有值相等的多余元素后的顺序表。
代码实现如下:
void removeDuplicates(int[] l) {
int last = ;
for (int i = 1; i < l.length; i++) {
if (l[i] == l[last]) {
continue;
}
l[++last] = l[i];
}
for (int i = last + 1; i < l.length; i++) {
l[i] = ;
}
}
阅读全文