编程实现线性表删除元素C语言
时间: 2023-05-26 08:02:46 浏览: 129
假设线性表的数据类型为int,删除元素index的代码如下:
```c
#include <stdio.h>
#define MAX_SIZE 50 // 线性表的最大长度
typedef struct {
int data[MAX_SIZE]; // 存放元素的数组
int length; // 线性表中元素的个数
} SeqList;
int Delete(SeqList* list, int index) {
if (index < 1 || index > list->length) { // index不合法
return 0; // 删除失败,返回0
}
int i;
for (i = index - 1; i < list->length - 1; i++) { // 把index后面的元素前移
list->data[i] = list->data[i + 1];
}
list->length--; // 更新线性表中元素的个数
return 1; // 删除成功,返回1
}
int main() {
SeqList list = {{1, 2, 3, 4, 5}, 5}; // 创建线性表并初始化
int index = 3; // 要删除的元素下标
int ret = Delete(&list, index); // 删除元素
if (ret) {
printf("删除元素%d成功,线性表中的元素为: ", index);
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]); // 输出剩下的元素
}
} else {
printf("删除元素%d失败", index);
}
return 0;
}
```
输出结果为:删除元素3成功,线性表中的元素为: 1 2 4 5
阅读全文