顺序表的插入c程序代码
时间: 2024-09-13 21:19:05 浏览: 46
C语言实现顺序表代码.rar
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 position, int element) {
// 检查插入位置是否有效
if (position < 1 || position > list->length + 1) {
printf("插入位置不合法\n");
return -1;
}
// 检查顺序表是否已满
if (list->length == MAX_SIZE) {
printf("顺序表已满,无法插入\n");
return -1;
}
// 从最后一个元素开始,将所有元素向后移动一位
for (int i = list->length; i >= position; i--) {
list->data[i] = list->data[i - 1];
}
// 在指定位置插入新元素
list->data[position - 1] = element;
// 顺序表长度加一
list->length++;
return 0;
}
int main() {
// 初始化一个空的顺序表
SeqList list = {{}, 0};
int position, element;
// 假设我们要插入的元素位置和值
position = 1;
element = 99;
// 执行插入操作
if (Insert(&list, position, element) == 0) {
// 输出插入后的顺序表
printf("插入后的顺序表:");
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]);
}
printf("\n");
}
return 0;
}
```
这段代码首先定义了一个顺序表的结构体,包括一个数组和一个记录长度的整型变量。`Insert` 函数用于执行插入操作,它首先检查插入位置是否合法以及顺序表是否已满,然后将指定位置之后的元素向后移动一位,最后在指定位置插入新元素并更新顺序表的长度。
阅读全文