用C语言写一个清除线性表L中多余的重复元素的算法
时间: 2023-04-07 17:04:20 浏览: 197
线性表中重复结点删除.txt
好的,我可以回答这个问题。以下是一个用C语言实现清除线性表L中多余重复元素的算法:
```
void deleteDuplicate(List *L) {
int i, j, k;
for (i = 0; i < L->length; i++) {
for (j = i + 1; j < L->length; j++) {
if (L->data[i] == L->data[j]) {
for (k = j; k < L->length - 1; k++) {
L->data[k] = L->data[k + 1];
}
L->length--;
j--;
}
}
}
}
```
这个算法的思路是,从第一个元素开始,依次与后面的元素进行比较,如果有重复的元素,则将后面的元素向前移动一位,同时线性表的长度减1。这样,当所有元素都比较完之后,线性表中就只剩下不重复的元素了。
阅读全文