线性表顺序存储结构插入数据代码c
时间: 2023-09-28 19:06:14 浏览: 183
C语言线性表顺序存储结构实例详解
5星 · 资源好评率100%
下面是一个使用 C 语言实现线性表顺序存储结构插入数据的代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
// 定义线性表结构体
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int length; // 当前线性表的长度
} SeqList;
// 在指定位置插入数据
int insert(SeqList *list, int pos, int value) {
// 判断插入位置的合法性
if (pos < 1 || pos > list->length + 1) {
printf("插入位置不合法!\n");
return -1;
}
// 判断线性表是否已满
if (list->length >= MAX_SIZE) {
printf("线性表已满,无法插入新的数据!\n");
return -1;
}
// 将插入位置及其后面的元素依次后移一位
for (int i = list->length; i >= pos; i--) {
list->data[i] = list->data[i - 1];
}
// 在插入位置处放入新的数据
list->data[pos - 1] = value;
// 更新线性表的长度
list->length++;
return 0;
}
int main() {
SeqList list;
// 初始化线性表
list.length = 0;
// 向线性表中插入数据
insert(&list, 1, 10);
insert(&list, 2, 20);
insert(&list, 3, 30);
// 打印线性表中的数据
printf("线性表中的数据为:");
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]);
}
printf("\n");
return 0;
}
```
上述代码中,我们首先定义了一个 `SeqList` 结构体,其中 `data` 数组用于存储数据,`length` 表示当前线性表的长度。然后,我们定义了一个 `insert` 函数,用于在指定位置插入数据。在 `main` 函数中,我们创建了一个线性表对象,并通过调用 `insert` 函数向线性表中插入数据。最后,我们打印出线性表中的数据。
注意:上述代码仅为示例,可能需要根据实际需求进行适当修改和完善。
阅读全文