c++ 整理SqList顺序存储线性表的程序
时间: 2024-09-29 10:08:22 浏览: 29
在 C++ 中,`SqList` 或者 `SortedList` 类型通常代表一个有序列表,它使用顺序存储(数组或动态数组)。以下是创建一个简单的 `SqList` 实现,用于对整数排序并保持顺序的一个基本示例:
```cpp
#include <iostream>
#include <vector>
// 定义 SqList 类
class SqList {
private:
std::vector<int> data; // 顺序存储整数
public:
// 构造函数
SqList() {}
// 插入元素
void insert(int value) {
data.push_back(value);
// 对插入后的数据进行排序
sort(data.begin(), data.end());
}
// 删除元素
bool remove(int value) {
auto it = find(data.begin(), data.end(), value);
if (it != data.end()) {
data.erase(it);
return true;
}
return false;
}
// 遍历并打印列表
void display() const {
for (const auto &element : data) {
std::cout << element << " ";
}
std::cout << "\n";
}
};
int main() {
SqList list;
// 插入元素
list.insert(5);
list.insert(1);
list.insert(9);
// 显示列表
list.display(); // 输出: 1 5 9
// 删除元素并显示
list.remove(5);
list.display(); // 输出: 1 9
return 0;
}
```
这个示例中,我们使用了 `std::vector` 作为底层容器,因为它提供了一种动态大小调整的方式来实现顺序存储,并内置了排序功能。`insert` 方法首先添加新元素,然后调用 `sort` 函数保持列表有序。`remove` 方法则是查找并移除指定值。
阅读全文