资源描述:
《c语言链表的插入、删除和查找》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告示例信息系情报10_级____02___班____2011__年__10_月_3日姓名______杨健_____学号_08_电话156518925831.实验题目 编制一个演示单链表插入、删除、查找等操作的程序2.需求分析 本演示程序用C语言编写,完成单链表的生成,任意位置的插入、删除,以及确定某一元素在单链表中的位置。 ①输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素值都是整数 ②输出的形式:在所有三种操作中都显示操作是否正确以及操作
2、后单链表的内容。其中查找操作后显示要查找元素的位置。 ③程序所达到的功能:完成单链表的生成(通过插入操作)、插入、删除、查找操作 ④测试数据: A.插入操作中输入1,插入位到位于1的位置 B.查找操作中输入a,返回这个元素在单链表中的所有位置 C.删除操作中输入2,删除位于2的元素3.概要设计 InitLinkList(&L) 操作结果:构造一个空的单链表L. InsLinkList(&L,pos,e) 初始条件:单链表L已存在 操作结果:将元素e插入到单链表L的pos位置 DelLinkList(&L,pos,&e)
3、 初始条件:单链表L已存在 操作结果:将单链表L中pos位置的元素删除 LocLinkList(L,e) 初始条件:单链表L依存在 操作结果:单链表L中查找是否元素e, 若存在,返回元素在表中的位置;若不存在,输出没有找到. 2)本程序包含6个函数: ①主函数main() ②初始化单链表函数InitLinkList() ③显示单链表内容函数dispLinkList() ④插入元素函数InsLinkList() ⑤删除元素函数DelLinkList() ⑥查找元素函数LocLinkList()4.详细设计实现概要设计中定义
4、的所有的数据类型,对每个操作给出伪码算法。对主程序和其他模块也都需要写出伪码算法。 1)结点类型和指针类型 typedefstructLinkList{intdata;structLinkList*next;}LIST; 2)单链表的基本操作 为了方便,在单链表中设头结点,其data域没有意义。 ListInitLinkList(LinkList&L) (伪码算法) ListDispLinkList(LinkListL) (伪码算法) ListInsLinkList(LinkList&L,intpos,inte) (伪码算法)
5、 voidDelLinkList(LinkList&L,intpos,int&e) (伪码算法) voidLocLinkList(LinkListL,inte) (伪码算法) 3)其他模块伪码算法5.调试分析6.使用说明 程序执行后显示 ======================== 0----EXIT 1----INSERT 2----DELETE 3----LOCATE ======================= SELECT: 在select后输入数字选择执行不同的功能。要求首先输入足够多的插入元素,才可以
6、进行其他的操作。每执行一次功能,就会显示执行的结果(正确或错误)以及执行后单链表的内容。 7.测试结果1)建立单链表: »选择1,分别输入15,14,13,12,11,得到单链表(15,14,13,12,11) 2)插入: »选择1输入(2,100),得到单链表(15,100,14,13,12,11) »选择1输入(-1,2),显示输入的值不正确 »选择1输入(8,2),显示输入的值不正确 »选择1输入(6,2),得到单链表(15,14,13,12,11,2) 3)删除: »选择2,输入2。得到单链表(15,13,12
7、,11) »选择2,输入1。得到单链表(14,13,12,11) »选择2,输入4。得到单链表(15,14,13,11) »选择2,输入6。显示输入的值不正确 4)查找 »选择3,输入14。返回pos=2 »选择3,输入100。返回没有这个数程序如下:#include#includetypedefstructLinkList{intdata;structLinkList*next;}LIST;LIST*InitLinkList();LIST*InsLinkList(LIST*,int);
8、LIST*DelLinkList(LIST*,int);voidLocLinkList(LIST*,int);voiddispLinkL