c++顺序表的插入操作
时间: 2023-09-21 09:06:56 浏览: 130
顺序表是一种线性数据结构,它的插入操作包括以下步骤:
1. 判断是否已满,如果已满则无法插入;
2. 找到插入位置,即将插入位置后面的元素依次向后移动一个位置;
3. 在插入位置处插入新元素;
4. 更新顺序表的长度。
下面是一个示例代码:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 定义顺序表最大长度
typedef struct {
int data[MAXSIZE]; // 存放元素的数组
int length; // 当前长度
} SqList;
bool Insert(SqList &L, int pos, int x) {
if (L.length == MAXSIZE) { // 判断是否已满
return false;
}
if (pos < 1 || pos > L.length + 1) { // 判断插入位置是否合法
return false;
}
for (int i = L.length; i >= pos; i--) { // 后面的元素依次向后移动一个位置
L.data[i] = L.data[i-1];
}
L.data[pos-1] = x; // 在插入位置处插入新元素
L.length++; // 更新顺序表的长度
return true;
}
int main() {
SqList L = {{1, 2, 3, 4, 5}, 5};
Insert(L, 3, 6); // 在第3个位置插入元素6
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " "; // 输出顺序表中的元素
}
return 0;
}
```
输出结果为:`1 2 6 3 4 5`,表示元素6已成功插入到第3个位置。
阅读全文