7-1 数据结构实验一 顺序表的插入 C语言
时间: 2023-05-18 22:06:33 浏览: 434
可以使用如下代码实现顺序表的插入:
```c
#include <stdio.h>
#define MAXSIZE 100 // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据的数组
int length; // 当前顺序表的长度
} SqList;
// 初始化顺序表
void InitList(SqList *L) {
L->length = 0;
}
// 在顺序表的第i个位置插入元素e
int ListInsert(SqList *L, int i, int e) {
if (i < 1 || i > L->length + 1) {
return 0; // 插入位置不合法
}
if (L->length >= MAXSIZE) {
return 0; // 顺序表已满
}
for (int j = L->length; j >= i; j--) {
L->data[j] = L->data[j - 1]; // 将第i个位置及之后的元素后移
}
L->data[i - 1] = e; // 将新元素插入到第i个位置
L->length++; // 顺序表长度加1
return 1; // 插入成功
}
int main() {
SqList L;
InitList(&L);
ListInsert(&L, 1, 10);
ListInsert(&L, 2, 20);
ListInsert(&L, 3, 30);
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
return 0;
}
```
以上代码实现了顺序表的初始化和插入操作,可以根据需要进行修改和扩展。