欢迎来到天天文库
浏览记录
ID:12286851
大小:69.50 KB
页数:13页
时间:2018-07-16
《单链表的建立、删除、及建立递增的单链表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、班级:数学112班学号:201112010222姓名:吕文辉报告日期:2012/12/9试验一:单链表一、实验目的(1)掌握单链表的存储结构形式及其描述。(2)掌握单链表的建立、查找、插入和删除操作。二、实验要求(1)编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表(无序)。(2)编写函数,实现遍历单链表。(3)编写函数,实现把单向链表中元素逆置(不允许申请新的结点空间)。(4)编写函数,建立一个非递减有序单链表。(5)编写函数,利用以上算法,建立两个非递减有序单链表,然后合并成一个非递减链表。(6)编写函数,在非递减有序单链表中插入一个元素使链表仍然有序。(7)编写函
2、数,实现在非递减有序链表中删除值为x的结点。(8)编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。三、实验代码:#include#include#include///////////////////////////////////////////typedefcharelemtype;#definenull0constintn=20;inti=1;typedefstructnode{elemtypedata;structnode*p;}node,*linklist;///////////////////////
3、////voidinitlist(linklistL);//初始化单链表voidcreatefromhead(linklistL);//利用头插法建立单链表;voidtextlinklist(linklistL);//检测单链表;voidcreatefromtail(linklistL);//尾插法建立单链表;voidlinklistnizhi(linklistk);//单链表的逆置;voidLorder(elemtypea[n],intn);//给数组中元素排序;voidincreaselinklist(linklistk);//给单链表中的元素排序;linklistunittwoli
4、nklist(linklistk1,linklistk2);//建立两个非递减有序单链表,然后合并成一个非递减链表。voidDeleteIncreaselinklist(linklistk);//编写函数,实现在非递减有序链表中删除值为x的结点voidInsertelemtypelinklist(linklistk);//编写函数,在非递减有序单链表中插入一个元素使链表仍然有序voidalllinklistfunctionlwh(chars);//将所有函数的整合在一个函数里面;voidtextlwhplinklist(linklistlwhp);////////////////////
5、///////////intmain(){cout<<"************************"<>s;alllinklistfunctionlwh(s);//////////////////////////////////////////////////调试程序时要用到的代码;/*nodelw
6、h;linklistlwhp;lwhp=&lwh;initlist(lwhp);cout<<"sizeof(node)"<7、t(lwhp);//给单链表中的元素排序;//建立另外一个单链表;nodelwh1;linklistlwhp1;lwhp1=&lwh1;initlist(lwhp1);createfromtail(lwhp1);linklistlwhp2;lwhp2=unittwolinklist(lwhp,lwhp1);DeleteIncreaselinklist(lwhp);Insertelemtypelinklist(lwhp);charw;
7、t(lwhp);//给单链表中的元素排序;//建立另外一个单链表;nodelwh1;linklistlwhp1;lwhp1=&lwh1;initlist(lwhp1);createfromtail(lwhp1);linklistlwhp2;lwhp2=unittwolinklist(lwhp,lwhp1);DeleteIncreaselinklist(lwhp);Insertelemtypelinklist(lwhp);charw;
此文档下载收益归作者所有