单链表基本操作的实现:插入、删除和查询
实验一单链表基本操作的实现(学生版) 本实验的目的是为了实现单链表的基本操作,包括单链表的建立、查询指定元素、显示元素、插入新元素和删除指定元素操作的实现。本实验使用 Dev-C++ 软件开发环境,硬件为计算机一台。 一、实验学时:2学时 二、实验目的: 1. 了解单链表的基本概念和数据结构 2. 掌握单链表的基本操作,包括插入、删除和查询元素 3. 通过实验,深入了解单链表的实现机制 三、实验内容: 1. 单链表的建立:使用结构体和指针来实现单链表的建立 2. 查询指定元素:使用遍历单链表来查询指定元素 3. 显示元素:使用遍历单链表来显示所有元素信息 4. 插入新元素:使用指针来插入新元素,并保持单链表的有序性 5. 删除指定元素:使用指针来删除指定元素,并保持单链表的有序性 四、主要仪器设备及耗材: 硬件:计算机一台 软件:Dev-C++ 五、实验清单: 1. 单链表的定义:使用结构体和指针来定义单链表 2. 单链表的基本操作:包括插入、删除和查询元素 3. 单链表的遍历:使用指针来遍历单链表,并显示所有元素信息 六、实验步骤: Step 1:定义单链表的结构体和指针 Step 2:实现单链表的建立和插入新元素 Step 3:实现单链表的查询指定元素和删除指定元素 Step 4:实现单链表的遍历和显示所有元素信息 Step 5:测试单链表的基本操作 七、实验结果: 通过实验,成功实现了单链表的基本操作,包括插入、删除和查询元素,并且掌握了单链表的基本概念和数据结构。 八、实验结论: 本实验通过使用 Dev-C++ 软件开发环境,成功实现了单链表的基本操作,包括插入、删除和查询元素,并且掌握了单链表的基本概念和数据结构。本实验为后续的数据结构实验奠定了基础。 九、代码实现: // 打印头结点地址为 L 的通讯录 void printList(LinkList L) { LinkList p = L; int n = 1; printf("\n---------------------------------------\n"); printf("学号姓名电话号码\n"); printf("----------------------------------------\n"); if (L == NULL || L->next == NULL) printf("该通讯录中没有元素\n"); else { // 输出通讯录中的所有元素信息 while (p != NULL) { printf("%d\t%s\t%lld\n", p->data.number, p->data.name, p->data.telenum); p = p->next; } printf("----------------------------------------\n"); } } // 查找当前结点 p 的前驱结点 LinkList prior(LinkList L, LinkList p) { LinkList p_prior = L; if (L->next == NULL) return (L); while (p_prior->next != p) { p_prior = p_prior->next; } return (p_prior); } // 插入一个元素,使原有序表仍为有序 void insertOrdered(LinkList L, Contacts Elem) { LinkList p = L->next; LinkList s = new LNode; s->data = Elem; s->next = NULL; if (L->next == NULL || p->data.number > Elem.number) { s->next = L->next; L->next = s; } else { while (p->next != NULL && p->next->data.number < Elem.number) { p = p->next; } s->next = p->next; p->next = s; } } // 删除指定元素 void deleteElem(LinkList L, int num) { LinkList p = L; while (p->next != NULL && p->next->data.number != num) { p = p->next; } if (p->next != NULL) { LinkList q = p->next; p->next = q->next; delete q; } }
![](https://csdnimg.cn/release/download_crawler_static/88950309/bg1.jpg)
下载后可阅读完整内容,剩余7页未读,立即下载
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)