单链表的查找、插入与删除

单链表的查找、插入与删除

ID:34748205

大小:159.68 KB

页数:10页

时间:2019-03-10

单链表的查找、插入与删除_第1页
单链表的查找、插入与删除_第2页
单链表的查找、插入与删除_第3页
单链表的查找、插入与删除_第4页
单链表的查找、插入与删除_第5页
资源描述:

《单链表的查找、插入与删除》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《数据结构》实验报告一题目:单链表的查找、插入与删除班级:测控0901学号:1503090130姓名:孙涛日期:2012.12.08程序名:cqq1.c一、上机实验的问题和要求:单链表的查找、插入与删除。设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求:1.从键盘输入20个整数,产生不带表头的单链表,并输入结点值。2.从键盘输入1个整数,在单链表中查找该结点的位置。若找到,则显示“找到了”;否则,则显示“找不到”。3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上

2、,输出单链表所有结点值,观察输出结果。4.从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。5.将单链表中值重复的结点删除,使所得的结果表中个结点值均不相同,输出单链表所有结点值,观察输出结果。6.删除其中所有数据值为偶数的结点,输出单链表所有结点值,观察输出结果。7.把单链表变成带表头结点的循环链表,输出循环单链表所有结点值,观察输出结果。8.(★)将单链表分解成两个单链表A和B,使A链表中含有原链表中序号为奇数的元素,而B链表中含有原链表中序号为偶数的元素,且保持原来的相对顺序,分别输出单链表A和单链表B

3、的所有结点值,观察输出结果。二、程序设计的基本思想,原理和算法描述:1、基本操作函数link*get(link*l,inti);//创建链表link*ins(link*l,inta,inti)//在链表内插入值link*find(link*l,inta);//在链表内查找值link*del(link*l,inti);//在链表内删除值link*delrepeat(link*l);//在链表内删除重复值link*deleven(link*l);//删除链表内偶数值link*rotate(link*l);//形成循环链表voiddivide

4、(link*l);//分解成两个链表cout<usingnamespacestd;typedefstructnode{intdata;structnode*next;}link;vo

5、idprint1(link*l);link*get(link*l,inti){link*p;intj=0;p=l;while((jnext!=NULL)){p=p->next;j++;}if(j==i)returnp;elsereturnNULL;}link*ins(link*l,inta,inti){link*p,*s;p=get(l,i-1);if(p==NULL)cout<<"输入有误"<data=a;10s->next=p-

6、>next;p->next=s;}returnl;}link*find(link*l,inta){link*p;inti=0;intj=0;p=l;while(p!=NULL){i++;if(p->data!=a)p=p->next;else{cout<<"您查找的数据在第"<next;}}if(j!=1)cout<<"您查找的数据不在线性表中."<

7、ULL)cout<<"输入有误"<next;p->next=s->next;free(s);}returnl;10}link*delrepeat(link*l)//删除相同元素并释放内存{link*s,*r,*t;if(l->next==NULL)returnl;s=l->next;while(s->next){t=s;r=s->next;while(t->next){if(s->data==r->data){t->next=r->next;free(r);r=t->next;}else{t=t->nex

8、t;r=t->next;}}s=s->next;if(!s)returnl;}returnl;}link*deleven(link*l){link*q=l;link*p=l->next;while(p){i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。