c语言中顺序表基本运算代码
时间: 2024-12-08 15:15:06 浏览: 12
在C语言中,顺序表(也称为数组)的基本操作通常包括插入、删除和查找元素。这里是一个简单的顺序表实现以及其基础操作的示例:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 表的最大容量
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int size; // 当前元素的数量
} List;
// 初始化顺序表
void init(List* list) {
list->size = 0;
}
// 插入元素到列表尾部
void insert(List* list, int value) {
if (list->size < MAX_SIZE) {
list->data[list->size++] = value;
printf("Inserted %d at the end of the list.\n", value);
} else {
printf("List is full, cannot insert.\n");
}
}
// 删除指定位置的元素
void delete(List* list, int index) {
if (index >= 0 && index < list->size) {
for (int i = index; i < list->size - 1; i++) {
list->data[i] = list->data[i + 1];
}
list->size--;
printf("Deleted element at position %d.\n", index);
} else {
printf("Invalid index.\n");
}
}
// 查找元素并返回其索引,如果不存在则返回-1
int search(List* list, int target) {
for (int i = 0; i < list->size; i++) {
if (list->data[i] == target) {
return i;
}
}
return -1; // 如果未找到目标值,则返回-1
}
// 打印顺序表内容
void print(List* list) {
printf("List contents: ");
for (int i = 0; i < list->size; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
int main() {
List list;
init(&list);
// 进行一些操作
insert(&list, 5);
delete(&list, 0); // 删除第一个元素
print(&list);
return 0;
}
```
在这个例子中,我们创建了一个包含`init`、`insert`、`delete`、`search`和`print`函数的简单顺序表结构。注意这个实现并没有处理满负荷的情况,实际项目中可能会添加动态扩容功能。
阅读全文