线性表顺序表的插入删除的C++主函数
时间: 2023-06-19 15:07:49 浏览: 100
线性表的顺序表示和插入、删除、归并C语言代码实现
4星 · 用户满意度95%
以下是线性表顺序表的插入和删除操作的C++主函数示例:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 线性表最大长度
typedef struct {
int data[MAXSIZE]; // 存储元素的数组
int length; // 线性表的当前长度
} SqList; // 定义顺序表类型
// 初始化线性表
void InitList(SqList &L) {
L.length = 0;
}
// 在指定位置插入元素
bool ListInsert(SqList &L, int i, int e) {
if (i < 1 || i > L.length + 1 || L.length == MAXSIZE) // 插入位置不合法或线性表已满
return false;
for (int j = L.length; j >= i; j--) // 将 i 及以后的元素后移
L.data[j] = L.data[j - 1];
L.data[i - 1] = e; // 插入元素
L.length++; // 线性表长度加 1
return true;
}
// 删除指定位置的元素
bool ListDelete(SqList &L, int i) {
if (i < 1 || i > L.length) // 删除位置不合法
return false;
for (int j = i; j < L.length; j++) // 将 i 及以后的元素前移
L.data[j - 1] = L.data[j];
L.length--; // 线性表长度减 1
return true;
}
int main() {
SqList L;
InitList(L);
ListInsert(L, 1, 10);
ListInsert(L, 2, 20);
ListInsert(L, 3, 30);
cout << "插入元素后的线性表:";
for (int i = 0; i < L.length; i++)
cout << L.data[i] << " ";
cout << endl;
ListDelete(L, 2);
cout << "删除元素后的线性表:";
for (int i = 0; i < L.length; i++)
cout << L.data[i] << " ";
cout << endl;
return 0;
}
```
代码中使用了结构体定义顺序表类型,分别实现了初始化线性表、在指定位置插入元素、删除指定位置元素的操作。主函数中演示了插入和删除操作的使用。
阅读全文