顺序表基本操作的C语言代码
时间: 2023-10-15 15:03:34 浏览: 102
顺序表的基本操作C语言
4星 · 用户满意度95%
顺序表是一种线性表的存储结构,可以用数组来实现。下面是顺序表的基本操作的C语言代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int length;
} SeqList;
// 初始化顺序表
void init(SeqList *list) {
list->length = 0;
}
// 插入元素
int insert(SeqList *list, int pos, int element) {
if (pos < 1 || pos > list->length + 1 || list->length == MAX_SIZE) {
return 0; // 插入失败
}
for (int i = list->length; i >= pos; i--) {
list->data[i] = list->data[i - 1];
}
list->data[pos - 1] = element;
list->length++;
return 1; // 插入成功
}
// 删除元素
int removeElement(SeqList *list, int pos) {
if (pos < 1 || pos > list->length) {
return 0; // 删除失败
}
for (int i = pos; i < list->length; i++) {
list->data[i - 1] = list->data[i];
}
list->length--;
return 1; // 删除成功
}
// 查找元素
int search(SeqList *list, int element) {
for (int i = 0; i < list->length; i++) {
if (list->data[i] == element) {
return i + 1; // 返回位置
}
}
return 0; // 没找到
}
// 输出顺序表元素
void display(SeqList *list) {
for (int i = 0; i < list->length; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
int main() {
SeqList list;
init(&list);
insert(&list, 1, 10);
insert(&list, 2, 20);
insert(&list, 3, 30);
insert(&list, 4, 40);
display(&list);
removeElement(&list, 2);
display(&list);
int pos = search(&list, 30);
if (pos) {
printf("元素30的位置是:%d\n", pos);
} else {
printf("元素30不存在\n");
}
return 0;
}
```
阅读全文