用c语言编写代码完成顺序表的初始化,插入,删除和清空,用主函数调用实现
时间: 2023-03-31 09:04:04 浏览: 109
好的,我可以回答这个问题。以下是用 C 语言编写代码完成顺序表的初始化、插入、删除和清空的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据的数组
int length; // 当前顺序表的长度
} SqList;
// 初始化顺序表
void InitList(SqList *L) {
L->length = ;
}
// 在指定位置插入元素
int ListInsert(SqList *L, int i, int e) {
if (i < 1 || i > L->length + 1) {
return ; // 插入位置不合法
}
if (L->length >= MAXSIZE) {
return ; // 顺序表已满
}
for (int j = L->length; j >= i; j--) {
L->data[j] = L->data[j - 1]; // 将插入位置及之后的元素后移一位
}
L->data[i - 1] = e; // 插入新元素
L->length++; // 长度加一
return 1; // 插入成功
}
// 删除指定位置的元素
int ListDelete(SqList *L, int i) {
if (i < 1 || i > L->length) {
return ; // 删除位置不合法
}
for (int j = i; j < L->length; j++) {
L->data[j - 1] = L->data[j]; // 将删除位置之后的元素前移一位
}
L->length--; // 长度减一
return 1; // 删除成功
}
// 清空顺序表
void ClearList(SqList *L) {
L->length = ;
}
int main() {
SqList L;
InitList(&L); // 初始化顺序表
ListInsert(&L, 1, 10); // 在第一个位置插入元素 10
ListInsert(&L, 2, 20); // 在第二个位置插入元素 20
ListInsert(&L, 3, 30); // 在第三个位置插入元素 30
ListDelete(&L, 2); // 删除第二个位置的元素
ClearList(&L); // 清空顺序表
return ;
}
```
希望这个示例代码可以帮助你完成顺序表的初始化、插入、删除和清空。
阅读全文