数据结构实验3[实验报告]
18页1、数据结构与算法实验报告实验序号:3 实验项目名称:链式表的操作学号1507112104姓名陈忠表专业、班15商智实验地点指导教师林开标实验时间16.11.09一、实验目的及要求1. 通过实验理解单链表的逻辑结构;2. 通过实验掌握单链表的基本操作和具体的函数实现。二、实验设备(环境)及要求微型计算机;windows 操作系统;Microsoft Visual Studio 6.0集成开发环境。三、实验内容与步骤链式表表示和实现线性表的如下:#includestdio.h#includestdlib.htypedef struct node /定义结点 int data; /结点的数据域为整型struct node *next; /结点的指针域 ListNode;typedef ListNode * LinkList; / 自定义LinkList单链表类型LinkList CreatListR1(); /函数,用尾插入法建立带头结点的单链表ListNode *LocateNode(LinkList head, int key); /函数,按值查找结点void DeleteList(Lin
2、kList head,int key); /函数,删除指定值的结点void printlist(LinkList head); /函数,打印链表中的所有值void DeleteAll(LinkList head); /函数,删除所有结点,释放内存/=主函数=void main() int num; char ch; LinkList head; head=CreatListR1(); /用尾插入法建立单链表,返回头指针 printlist(head); /遍历链表输出其值 printf( Delete node (y/n):); /输入y或n去选择是否删除结点 scanf(%c,&ch); if(ch=y) | ch=Y) printf(Please input Delete_data:); scanf(%d,num); /输入要删除的字符串 DeleteList(head,num); printlist(head); DeleteAll(head); /删除所有结点,释放内存/=用尾插入法建立带头结点的单链表= LinkList CreatListR1(void) return he
3、ad; /返回头指针/=按值查找结点,找到则返回该结点的位置,否则返回NULL=ListNode *LocateNode(LinkList head, int key) return p; /若p=NULL则查找失败,否则p指向找到的值为key的结点/=删除带头结点的单链表中的指定结点=void DeleteList(LinkList head,int key) /按key值查找结点的 /若没有找到结点,退出/若找到,则从单链表中删除该结点,并释放结点/=打印链表,输出所有结点的值=void printlist(LinkList head) /=删除所有结点,释放空间=void DeleteAll(LinkList head) 1、 实现并调试单链表的的相关算法;2、改写以上程序,实现功能如下:(1)编写一个删除链表中值为x的结点的直接前趋结点的算法,若有多个值为x的结点,则删除第一个x的直接前趋结点。(2)改写CreatListR1函数,使得链表创建时为非递减有序的单链表。(3)在算法(2)生成的非递减有序的单链表中,编写一个算法,删除单链表中值相同的多余结点。(4)写一个对单循环链
《数据结构实验3[实验报告]》由会员公****分享,可在线阅读,更多相关《数据结构实验3[实验报告]》请在金锄头文库上搜索。
华中师范大学21秋《企业战略管理》在线作业一答案参考76
宣扬的通知集锦五篇
雅思大作文题目
中考化学实验探究题
牛津英语深圳版五年级下各单元复习单词词组句型练习
四年级苏教版下学期语文古诗阅读专项过关题
常年财务顾问协议书
楼工程安全事故应急救援预案
陈允斌泡菜、咸鸭蛋
大棚蔬菜种植技术(活动za)(0001)
机车的两种启动方式(2课时)
宠物医疗助理工作总结(3篇).doc
幼儿园中班班主任下学期工作总结范文.doc
2022年话务中心职级晋升演讲稿
门式刚架荷载计算及内力组合
教务处第一学期工作计划例文(五篇).doc
设计质量保证体系和保证质量的措施
电路的基本知识教案
门面房屋租赁协议
整体化粪池主要技术要求
2023-02-25 3页
2023-10-18 10页
2023-04-16 14页
2023-02-17 3页
2024-01-05 11页
2022-09-21 25页
2023-02-07 8页
2022-09-08 2页
2023-02-27 7页
2022-12-03 3页