实现初始化一个空的顺序线性表C++
时间: 2024-09-27 18:09:49 浏览: 40
在C++中,你可以通过定义一个动态数组或使用内置容器`std::vector`来初始化一个空的顺序线性表(也称为数组或列表)。以下是两种常见的方式:
**使用动态数组(Array):**
```cpp
#include <iostream>
// 定义一个模板类,表示一个动态大小的元素序列
template <typename T>
class LinearList {
private:
T* elements; // 存储元素的指针
int size; // 当前元素的数量
int capacity; // 容量(预设最大尺寸)
public:
// 构造函数,创建一个初始为空的线性表
LinearList(int initialCapacity = 0) : elements(new T[initialCapacity]), size(0), capacity(initialCapacity) {}
~LinearList() { delete[] elements; } // 析构函数释放内存
// 添加元素时可能会扩容
void push_back(const T& value) {
if (size == capacity) {
resize(capacity * 2); // 如果满,扩大两倍容量
}
elements[size++] = value;
}
// 其他操作...
};
int main() {
LinearList<int> list;
return 0;
}
```
**使用`std::vector`:**
```cpp
#include <iostream>
#include <vector>
class LinearListUsingVector {
private:
std::vector<int> elements;
public:
LinearListUsingVector() : elements{} {} // 使用默认构造函数创建空vector
void push_back(int value) {
elements.push_back(value);
}
// 其他操作...
};
int main() {
LinearListUsingVector list;
return 0;
}
```
阅读全文