请使用c++语言设计一个线性表,采用顺序存储结构,插入一个元素
时间: 2024-10-22 17:21:53 浏览: 12
在C++中,我们可以设计一个简单的线性表(List)来表示顺序存储结构,其中包含一个动态数组用于存储元素。下面是一个基本的单链表实现,不过这里我将展示如何创建一个动态数组并插入一个元素:
```cpp
#include <iostream>
using namespace std;
// 定义一个动态大小的数组作为线性表的基础数据结构
template <typename T>
class LinearList {
private:
T* data; // 存储元素的指针
int size; // 当前元素的数量
int capacity; // 数组的最大容量
public:
// 构造函数,初始容量为0
LinearList(int initial_capacity = 5) : capacity(initial_capacity), size(0) {
data = new T[capacity];
}
// 插入元素的函数
void insert(const T& value) {
if (size == capacity) { // 如果已满,需要扩容
capacity *= 2; // 新增一倍的空间
T* temp = new T[capacity]; // 创建新数组
for (int i = 0; i < size; ++i) {
temp[i] = data[i];
}
delete[] data; // 释放旧数组
data = temp;
}
data[size++] = value; // 插入元素到末尾
}
// 其他操作...(如显示、删除等)
~LinearList() {
delete[] data; // 在析构函数中清理内存
}
};
int main() {
LinearList<int> list;
list.insert(10); // 插入整数10
cout << "刚插入的元素是:" << list.data[list.size - 1] << endl; // 输出插入的最后一个元素
return 0;
}
```
在这个例子中,我们首先创建了一个`LinearList`模板类,它有一个动态数组`data`来存储元素。插入元素时,如果列表已满,我们会扩大其容量,并复制原有的数据。最后,在`main()`函数中演示了如何插入一个元素。
阅读全文