用c++建立四个元素在顺序表list{}={3,2,4,5},实现顺序表建立的基本操作
时间: 2024-09-25 21:18:57 浏览: 57
在 C++ 中,我们可以使用标准库中的 `std::vector` 或自定义数组来创建一个简单的顺序列表(类似于数组),并实现基本的操作如插入、删除和查找等。这里我们先演示如何使用 `std::vector` 来存储整数。
```cpp
#include <iostream>
#include <vector>
// 自定义一个简单的线性表类模板
template <typename T>
class SequentialList {
public:
// 构造函数,初始化列表为空
SequentialList() : elements(0) {}
// 添加元素到末尾
void addElement(T value) {
if (elements == data.size()) {
// 如果已满,扩大数据容量
data.resize(data.size() * 2);
}
data[elements++] = value;
}
// 查找指定值的位置
size_t findIndex(const T& value) const {
for (size_t i = 0; i < elements; ++i) {
if (data[i] == value) {
return i;
}
}
// 如果未找到,返回 vector 的 end()
return elements;
}
// 删除指定位置的元素(假设索引从 0 开始)
void removeElement(size_t index) {
if (index >= elements) {
throw std::out_of_range("Index out of range");
}
std::copy(elements + index, data.end(), elements); // 将后续元素向前移动一位
data.resize(elements); // 缩小容量以移除多余的空间
}
private:
std::vector<T> data; // 存储元素的容器
size_t elements; // 当前元素的数量
};
int main() {
SequentialList<int> list;
// 插入元素
list.addElement(3);
list.addElement(2);
list.addElement(4);
list.addElement(5);
// 打印列表
for (const auto& element : list.data) {
std::cout << element << " ";
}
std::cout << "\n";
// 查找元素
size_t index = list.findIndex(4);
if (index != list.elements) {
std::cout << "Element found at index: " << index << "\n";
} else {
std::cout << "Element not found\n";
}
// 删除元素
list.removeElement(1);
return 0;
}
```
在这个例子中,我们首先定义了一个名为 `SequentialList` 的模板类,其中包含了添加、查找和删除元素的方法。然后在 `main()` 函数中创建了一个 `SequentialList<int>` 的实例,并执行了这些操作。
阅读全文