用c语言写出顺序表的基本操作代码
时间: 2024-10-07 10:05:35 浏览: 28
如何写出高效优美的单片机C语言代码?
在C语言中,顺序表是一种简单的线性数据结构,通常通过数组来实现。这里是一个基础的顺序表操作的简单示例,包括创建、插入、删除和访问元素:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义最大元素数
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int size; // 当前元素的数量
} List;
// 创建一个新的空列表
List* create_list() {
List* list = malloc(sizeof(List));
list->size = 0;
return list;
}
// 在列表末尾添加元素
void insert(List* list, int value) {
if (list->size >= MAX_SIZE) {
printf("Error: List is full.\n");
return;
}
list->data[list->size] = value;
list->size++;
}
// 删除指定位置的元素
void remove(List* list, int index) {
if (index < 0 || index >= list->size) {
printf("Error: Index out of range.\n");
return;
}
for (int i = index; i < list->size - 1; i++) {
list->data[i] = list->data[i + 1];
}
list->size--;
}
// 访问并打印指定索引的元素
void access(List* list, int index) {
if (index < 0 || index >= list->size) {
printf("Error: Index out of range.\n");
} else {
printf("Element at index %d is: %d\n", index, list->data[index]);
}
}
// 示例
int main() {
List* my_list = create_list();
insert(my_list, 1);
insert(my_list, 2);
access(my_list, 0); // 输出 1
remove(my_list, 0);
access(my_list, 0); // 输出 2 (因为第一个元素已被删除)
free(my_list);
return 0;
}
```
阅读全文