c++创建一个顺序表
时间: 2024-09-20 20:13:20 浏览: 41
在 C++ 中,创建一个简单的顺序表(也称为线性表或数组)通常会涉及到一个动态数组的数据结构,你可以定义一个模板类 `SequentialList` 来存储任意类型的元素,并提供插入、删除和访问等基本操作。以下是创建一个顺序表的基本步骤:
```cpp
#include <iostream>
using namespace std;
template <typename T> // 使用模板来支持多种数据类型
class SequentialList {
private:
int capacity; // 存储容量
int size; // 当前列表大小
T* data; // 存储数据的指针
public:
SequentialList(int initial_capacity = 5) {
capacity = initial_capacity;
data = new T[capacity];
size = 0;
}
~SequentialList() { // 析构函数释放内存
delete[] data;
}
// 插入元素
void insert(T value) {
if (size == capacity) {
resize(capacity * 2); // 如果已满,扩大容量
}
data[size++] = value;
}
// 删除元素(这里仅删除第一个)
void removeFirst() {
if (size > 0) {
for (int i = 0; i < size - 1; i++) {
data[i] = data[i + 1];
}
size--;
}
}
// 访问元素
T& operator[](int index) {
if (index >= 0 && index < size) {
return data[index];
} else {
throw out_of_range("Index out of range");
}
}
// 其他方法如获取长度、查找等...
};
int main() {
SequentialList<int> list(5);
list.insert(10);
list.insert(20);
list.removeFirst();
cout << "First element: " << list[0] << endl; // 输出 20
return 0;
}
```
阅读全文