数据结构(C语言版)完成线性表(顺序存储结构)的初始化、插入、删除操作的代码
时间: 2024-10-07 11:08:06 浏览: 64
在C语言中,我们可以使用数组来实现顺序存储的线性表。下面是一个简单的例子,展示了如何完成线性表的初始化、插入和删除操作:
```c
#include <stdio.h>
// 定义线性表的结构体
typedef struct {
int data; // 存储数据元素
} Node;
// 初始化线性表
void initialize(int size, Node* list) {
for (int i = 0; i < size; i++) {
list[i].data = 0; // 或者指定默认值
}
printf("Linear List initialized.\n");
}
// 插入操作 - 在特定位置插入节点
void insert(int index, int value, Node* list, int size) {
if (index >= 0 && index < size) {
list[index].data = value;
printf("Inserted %d at position %d.\n", value, index);
} else {
printf("Invalid index.\n");
}
}
// 删除操作 - 删除特定位置的节点
void delete(int index, Node* list, int size) {
if (index >= 0 && index < size) {
list[index] = list[size - 1]; // 将最后一个元素移到被删除的位置
list[size - 1].data = 0; // 清空最后一个元素
size--; // 更新列表大小
printf("Deleted element at position %d.\n", index);
} else {
printf("Invalid index.\n");
}
}
int main() {
const int LIST_SIZE = 5;
Node list[LIST_SIZE];
// 初始化
initialize(LIST_SIZE, list);
// 插入和删除示例
insert(0, 10, list, sizeof(list) / sizeof(Node));
delete(2, list, sizeof(list) / sizeof(Node));
return 0;
}
```
阅读全文