顺序表中基本操作的c语言代码
时间: 2023-12-18 18:21:14 浏览: 85
c语言实现顺序表的基本操作
5星 · 资源好评率100%
顺序表(Sequence List)是一种线性表的存储结构,可以使用数组来实现。基本操作包括初始化顺序表、插入元素、删除元素、查找元素和输出顺序表等。以下是一些基本操作的C语言代码示例:
```c
#include <stdio.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int length;
} SeqList;
// 初始化顺序表
void initList(SeqList *list) {
list->length = 0;
}
// 插入元素
int insertElement(SeqList *list, int position, int element) {
if (position < 1 || position > list->length + 1 || list->length >= MAX_SIZE) {
return 0; // 插入位置无效或顺序表已满
}
for (int i = list->length; i >= position; i--) {
list->data[i] = list->data[i - 1]; // 向后移动元素
}
list->data[position - 1] = element; // 插入新元素
list->length++; // 长度加1
return 1;
}
// 删除元素
int deleteElement(SeqList *list, int position) {
if (position < 1 || position > list->length) {
return 0; // 删除位置无效
}
for (int i = position; i < list->length; i++) {
list->data[i - 1] = list->data[i]; // 向前移动元素
}
list->length--; // 长度减1
return 1;
}
// 查找元素
int findElement(SeqList list, int element) {
for (int i = 0; i < list.length; i++) {
if (list.data[i] == element) {
return i + 1; // 返回元素在顺序表中的位置
}
}
return 0; // 未找到元素
}
// 输出顺序表
void printList(SeqList list) {
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]);
}
printf("\n");
}
int main() {
SeqList list;
initList(&list);
// 插入元素示例
insertElement(&list, 1, 10);
insertElement(&list, 2, 20);
insertElement(&list, 3, 30);
insertElement(&list, 4, 40);
printf("顺序表: ");
printList(list);
// 删除元素示例
deleteElement(&list, 3);
printf("删除元素后的顺序表: ");
printList(list);
// 查找元素示例
int position = findElement(list, 20);
if (position) {
printf("元素20在位置%d\n", position);
} else {
printf("未找到元素20\n");
}
return 0;
}
```
以上是顺序表基本操作的C语言代码示例,包括初始化顺序表、插入元素、删除元素、查找元素和输出顺序表等。你可以根据需要调用这些函数来操作顺序表。
阅读全文