6-1 jmu-ds- 顺序表删除重复元素c++代码
时间: 2023-08-07 13:08:21 浏览: 98
以下是一个简单的 C++ 代码,用于删除顺序表中的重复元素:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储顺序表元素的数组
int length; // 顺序表当前长度
} SqList;
void deleteDuplicates(SqList &L) {
int i, j, k;
for (i = 0; i < L.length; i++) {
k = L.data[i];
for (j = i + 1; j < L.length; j++) {
if (L.data[j] == k) {
L.length--;
for (int l = j; l < L.length; l++) {
L.data[l] = L.data[l + 1];
}
j--;
}
}
}
}
int main() {
SqList L;
int n;
cout << "请输入顺序表的长度:";
cin >> n;
cout << "请输入顺序表的元素:";
for (int i = 0; i < n; i++) {
cin >> L.data[i];
}
L.length = n;
deleteDuplicates(L);
cout << "删除重复元素后的顺序表为:";
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
return 0;
}
```
该代码使用双重循环来遍历顺序表中的所有元素,检查是否有重复的元素。如果找到重复元素,就将顺序表的长度减1,并将后面的元素向前移动一位。最后,输出删除重复元素后的顺序表。