顺序表的插入和删除c语言代码
时间: 2024-04-23 20:18:47 浏览: 96
顺序表是一种线性表的存储结构,可以使用数组来实现。下面是顺序表的插入和删除的C语言代码示例:
1. 插入元素:
```c
#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) {
return 0; // 插入位置不合法
}
// 判断顺序表是否已满
if (list->length >= MAX_SIZE) {
return -1; // 顺序表已满,无法插入
}
// 将插入位置及之后的元素后移一位
for (int i = list->length; i >= pos; i--) {
list->data[i] = list->data[i - 1];
}
// 在插入位置处放入新元素
list->data[pos - 1] = value;
// 长度加1
list->length++;
return 1; // 插入成功
}
```
2. 删除元素:
```c
typedef struct {
int data[MAX_SIZE];
int length;
} SeqList;
// 在顺序表的指定位置删除元素
int delete(SeqList *list, int pos) {
// 判断删除位置是否合法
if (pos < 1 || pos > list->length) {
return 0; // 删除位置不合法
}
// 将删除位置之后的元素前移一位
for (int i = pos; i < list->length; i++) {
list->data[i - 1] = list->data[i];
}
// 长度减1
list->length--;
return 1; // 删除成功
}
```
阅读全文