C++用Class类实现数据结构顺序表
时间: 2024-11-12 09:43:23 浏览: 18
自己写的数据结构顺序表用C++实现
在C++中,我们可以使用`class`关键字以及成员变量和成员函数来自定义一个类来实现顺序表(数组或动态数组)。以下是一个简单的例子:
```cpp
#include <iostream>
using namespace std;
// 定义顺序表类,包含数据元素类型和长度
template<typename T>
class SequentialList {
private:
T* data; // 数据元素指针
int size; // 当前元素的数量
int capacity; // 存储空间的最大容量
public:
// 构造函数,初始化空列表
SequentialList(int initial_capacity = 10) : data(new T[initial_capacity]), capacity(initial_capacity), size(0) {}
// 插入元素
void push_back(const T& item) {
if (size == capacity) { // 如果已满,扩容
resize(capacity * 2);
}
data[size++] = item;
}
// 删除最后一个元素
void pop_back() {
if (size > 0) {
data[--size] = T(); // 空出的位置赋空值,也可以直接设为nullptr
}
}
// 获取并显示元素
void display() const {
for (int i = 0; i < size; ++i) {
cout << data[i] << " ";
}
cout << endl;
}
~SequentialList() { // 析构函数,释放内存
delete[] data;
}
};
int main() {
SequentialList<int> list;
list.push_back(5);
list.push_back(10);
list.display();
return 0;
}
```
在这个例子中,我们定义了一个模板类`SequentialList`,可以存储任意类型的元素。它的主要功能包括添加元素到尾部(`push_back`)、从尾部移除元素(`pop_back`)以及显示所有元素(`display`)。
阅读全文