线性表的顺序存储结构插入程序用c++
时间: 2024-09-12 19:11:02 浏览: 51
线性表的顺序存储结构是一种使用连续内存空间存储数据元素的线性表实现方式。在这种结构中,元素之间的逻辑关系由它们在内存中的物理位置决定。在C++中,顺序存储结构通常可以通过数组来实现。下面是一个简单的线性表顺序存储结构的插入操作的示例程序:
```cpp
#include <iostream>
using namespace std;
// 定义线性表的最大长度
const int MAXSIZE = 100;
// 线性表的顺序存储结构
template <typename T>
class SeqList {
private:
T data[MAXSIZE]; // 存储数据元素的数组
int length; // 线性表当前长度
public:
SeqList() : length(0) {} // 构造函数初始化长度为0
// 插入元素
bool insert(int index, T element) {
if (length == MAXSIZE) { // 表满
return false;
}
if (index < 0 || index > length) { // 插入位置不合法
return false;
}
for (int i = length; i > index; --i) {
data[i] = data[i - 1]; // 将插入位置及之后的元素后移
}
data[index] = element; // 在指定位置插入新元素
++length; // 长度加1
return true;
}
// 打印线性表元素
void print() {
for (int i = 0; i < length; ++i) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
SeqList<int> list;
// 插入元素
list.insert(0, 10);
list.insert(1, 20);
list.insert(2, 30);
list.insert(1, 15); // 在索引为1的位置插入元素15
// 打印当前线性表
cout << "当前线性表中的元素为: ";
list.print();
return 0;
}
```
这个示例程序定义了一个模板类`SeqList`,它使用数组`data`来存储线性表的元素,并使用成员变量`length`来记录线性表的当前长度。`insert`函数用于在指定位置插入一个元素,如果插入成功则返回`true`,否则返回`false`。`print`函数用于打印线性表中的所有元素。
阅读全文