C语言线性表操作:插入、查找、删除等功能实现
C语言线性表操作:插入、查找、删除等功能实现
本文将介绍如何使用C语言编写一个线性表操作测试程序,实现插入、查找、删除和显示数据元素等基本功能。
功能菜单
程序启动后,会显示以下功能菜单:
线性表基本操作实验1、输入元素2、查看输入的元素3、查找指定值的元素4、删除指定元素5、插入元素6、线性表合并7、清空线性表请选择(1-7):
用户可根据菜单提示,输入对应的数字选择要执行的操作。
代码实现
以下是完整的C语言代码,包含详细的注释:c#include <stdio.h>#include <stdlib.h>
#define MAX_SIZE 100 // 线性表最大长度
// 定义线性表结构体typedef struct { int data[MAX_SIZE]; // 存储线性表元素的数组 int length; // 线性表当前长度} List;
// 显示线性表所有元素void displayList(List list) { printf('线性表元素:'); for (int i = 0; i < list.length; i++) { printf('%d ', list.data[i]); } printf(' ');}
// 插入元素到线性表末尾void insertElement(List *list, int element) { if (list->length == MAX_SIZE) { printf('线性表已满,无法插入。 '); return; } list->data[list->length] = element; list->length++; printf('元素 %d 插入成功。 ', element);}
// 查找指定元素在数组中的位置void searchElement(List list, int element) { int found = 0; for (int i = 0; i < list.length; i++) { if (list.data[i] == element) { printf('元素 %d 找到,位于索引 %d。 ', element, i); found = 1; break; } } if (!found) { printf('元素 %d 未找到。 ', element); }}
// 删除指定元素void deleteElement(List *list, int element) { int found = 0; for (int i = 0; i < list->length; i++) { if (list->data[i] == element) { for (int j = i; j < list->length - 1; j++) { list->data[j] = list->data[j + 1]; } list->length--; found = 1; break; } } if (found) { printf('元素 %d 删除成功。 ', element); } else { printf('元素 %d 未找到。 ', element); }}
int main() { List list; list.length = 0; // 初始化线性表长度为0
int choice, element;
do { printf('
线性表基本操作实验 '); printf('1、输入元素 '); printf('2、查看输入的元素 '); printf('3、查找指定值的元素 '); printf('4、删除指定元素 '); printf('5、插入元素 '); printf('6、线性表合并 '); printf('7、清空线性表 '); printf('请选择(1-7):'); scanf('%d', &choice);
switch (choice) { case 1: printf('请输入要插入的元素:'); scanf('%d', &element); insertElement(&list, element); break; case 2: displayList(list); break; case 3: printf('请输入要查找的元素:'); scanf('%d', &element); searchElement(list, element); break; case 4: printf('请输入要删除的元素:'); scanf('%d', &element); deleteElement(&list, element); break; case 5: // 与 case 1 功能相同,可根据需要修改 printf('请输入要插入的元素:'); scanf('%d', &element); insertElement(&list, element); break; case 6: // TODO: 实现线性表合并功能 printf('线性表合并功能尚未实现。
'); break; case 7: // TODO: 实现清空线性表功能 printf('清空线性表功能尚未实现。 '); break; default: printf('无效的选择,请重新输入。 '); } } while (choice != 0); // 当用户输入0时退出程序
return 0;}
代码说明
- 代码中定义了一个
List结构体,包含一个整数数组data用于存储线性表元素,以及一个整数length用于记录线性表的当前长度。2. 代码中实现了displayList、insertElement、searchElement和deleteElement四个函数,分别用于显示线性表元素、插入元素、查找元素和删除元素。3. 在main函数中,程序首先初始化一个空的线性表,然后进入一个循环,根据用户输入的数字执行相应的操作。
总结
本文介绍了如何使用C语言实现一个简单的线性表操作程序,并提供了详细的代码示例和注释。你可以根据自己的需要修改和扩展代码,实现更复杂的功能。
原文地址: https://www.cveoy.top/t/topic/SOC 著作权归作者所有。请勿转载和采集!