最新要闻

广告

手机

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

家电

C语言实现顺序表的基本操作

来源:博客园

下面是使用C语言实现顺序表基本操作的示例代码:

```c#include #include


(资料图)

#define MAX_SIZE 100

typedef struct { int data[MAX_SIZE]; int length;} SeqList;

void initList(SeqList* list) { list->length = 0;}

void insert(SeqList* list, int position, int item) { if (position < 0 || position > list->length || list->length == MAX_SIZE) { printf("Invalid position or list is full\n"); return; }

for (int i = list->length - 1; i >= position; i--) { list->data[i + 1] = list->data[i]; }

list->data[position] = item; list->length++;}

void delete(SeqList* list, int position) { if (position < 0 || position >= list->length) { printf("Invalid position\n"); return; }

for (int i = position; i < list->length - 1; i++) { list->data[i] = list->data[i + 1]; }

list->length--;}

int search(SeqList* list, int key) { for (int i = 0; i < list->length; i++) { if (list->data[i] == key) { return i; } }

return -1;}

void display(SeqList* list) { printf("List elements: "); for (int i = 0; i < list->length; i++) { printf("%d ", list->data[i]); } printf("\n");}

int main() { SeqList list; int choice, item, position, key, index;

initList(&list);

while (1) { printf("1. Insert\n"); printf("2. Delete\n"); printf("3. Search\n"); printf("4. Display\n"); printf("5. Exit\n");

printf("Enter your choice: "); scanf("%d", &choice);

switch (choice) { case 1: printf("Enter the element to be inserted: "); scanf("%d", &item); printf("Enter the position: "); scanf("%d", &position); insert(&list, position, item); break; case 2: printf("Enter the position: "); scanf("%d", &position); delete(&list, position); break; case 3: printf("Enter the key to search: "); scanf("%d", &key); index = search(&list, key); if (index != -1) { printf("Element found at position: %d\n", index); } else { printf("Element not found\n"); } break; case 4: display(&list); break; case 5: exit(0); default: printf("Invalid choice\n"); break; } }

return 0;}```

这段代码实现了顺序表的基本操作,包括初始化顺序表、插入元素、删除元素、查找元素和显示顺序表内容。在`main`函数中,通过一个循环菜单,用户可以选择不同的操作。根据用户选择的操作,调用相应的函数进行处理。

顺序表的结构体定义中,`data`数组用于存储元素,`length`记录当前顺序表的长度。`initList`函数用于初始化顺序表,`insert`函数用于在指定位置插入元素,`delete`函数用于删除指定位置的元素,`search`函数用于查找指定元素的位置,`display`函数用于打印顺序表的内容。

可以根据需要修改和扩展这段代码,以满足特定的顺序表操作要求。

关键词: