线性表插入元素c语言代码
时间: 2023-10-15 11:02:41 浏览: 107
下面是一个示例的线性表插入元素的C语言代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int length;
} List;
void initList(List *L) {
L->length = 0;
}
void insert(List *L, int index, int value) {
if (index < 0 || index > L->length) {
printf("Index out of range!\n");
return;
}
if (L->length == MAX_SIZE) {
printf("List is full!\n");
return;
}
for (int i = L->length - 1; i >= index; i--) {
L->data[i + 1] = L->data[i];
}
L->data[index] = value;
L->length++;
}
int main() {
List L;
initList(&L);
insert(&L, 0, 1);
insert(&L, 1, 2);
insert(&L, 2, 3);
insert(&L, 3, 4);
insert(&L, 2, 5);
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
代码中使用了一个结构体List来表示线性表,包含一个int类型的数组data和一个int类型的length表示当前线性表的长度。initList函数用于初始化线性表,将长度length赋值为0。insert函数用于在指定的位置index插入一个值为value的元素。在插入元素之前,需要判断指定的位置是否合法,即index是否在[0, length]之间,并且线性表是否已满。如果合法,则将位置index及其后面的元素都向后移动一个位置,并在位置index处插入元素value。最后,main函数中示例了如何使用insert函数向线性表中插入元素,并打印出线性表中的所有元素。
阅读全文