在线性表的指定位置i插入元素e,用C语言写代码
时间: 2024-05-15 17:18:07 浏览: 77
好的,以下是使用C语言在线性表的指定位置i插入元素e的代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
struct List {
int data[MAX_SIZE];
int length;
};
// 在线性表的指定位置i插入元素e
int insert_elem(struct List* L, int i, int e) {
if (i < 1 || i > L->length + 1 || L->length >= MAX_SIZE) {
return -1; // 插入失败
}
for (int j = L->length; j >= i; j--) {
L->data[j] = L->data[j-1];
}
L->data[i-1] = e;
L->length++;
return 0; // 插入成功
}
int main() {
struct List L;
L.length = 0;
// 初始化线性表
for (int i = 1; i <= 5; i++) {
L.data[i-1] = i;
L.length++;
}
// 插入元素
int i = 3;
int e = 8;
insert_elem(&L, i, e);
// 打印插入后的线性表
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
其中,`struct List`是线性表的结构体,`MAX_SIZE`定义线性表的最大长度,`insert_elem`函数用于在线性表的指定位置i插入元素e,返回值为0时表示插入成功,返回值为-1时表示插入失败。在`main`函数中,我们可以先初始化一个长度为5的线性表,然后再调用`insert_elem`函数插入一个元素,最后打印插入后的线性表。
阅读全文