链式存储结构的基本操作

链式存储结构的基本操作

ID:44113071

大小:465.78 KB

页数:13页

时间:2019-10-18

链式存储结构的基本操作_第1页
链式存储结构的基本操作_第2页
链式存储结构的基本操作_第3页
链式存储结构的基本操作_第4页
链式存储结构的基本操作_第5页
资源描述:

《链式存储结构的基本操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2011年月日学院计算机科学与教育软件学院年级、专业、班计机094姓名潘永航学号0923010089实验课程名称数据结构成绩实验项目名称实验一链式存储结构的基本操作指导老师一、实验目的掌握单链表,链式堆栈,链式队列的定义及基木操作二、使用仪器、器材微机一台操作系统:WinXP编程软件:C++三、实验内容及原理(…)单链衣的定义及基本操作(1)用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表屮,链表屮允许两个结点有相同值。链表的头结点存放链

2、表后面的结点个数,初始化时就牛成头结点(初值为0)。(2)在上述带农头的链表中删除第i个结点或删除数值为item的结点。(3)链农翻转是把数据逆序(变成降序),注意,头结点不动。翻转后要再翻转-•次,恢复升序后才能插入新元索,否则会出错。(4)设A与B分别为两个带有头结点的有序循环链表(所谓有序是指链接点按数据域值大小链接,本题不妨设按数据域值从小到大排列),listl和list2分別为指向两个链表的指针。请写出并在计算机上实现将这两个链表合并为一个带头结点的有序循坏链表的算法。(二)链式堆栈的定义及基木操作(5

3、)先定义堆栈的几个基木操作,再设计一主函数利用堆栈的操作完成以下功能:假设一个算术表达式屮可以包含三种括号:()[]{},且这三种括号可以按任意次序嵌套使用(如:编写判别给定表达式屮所含扌舌号是否正确配对出现的算法,已知表达式已存入数据元素为字符的单链表屮。(三)链式队列的定义及基本操作(6)先定义队列的几个基本操作,再设计…主函数利用队列的操作完成以下功能:键盘输入的字符可以临时存入键盘的缓冲区屮。为了充分利用缓冲区的空间,往往将缓冲区设计成链式循环队列的结构,并为循环队列结构的缓冲区设磴一个队首指针和一个队尾

4、指针。每输入一个字符到缓冲区中,就将尾指针后移,链入缓冲区的循环队列之中;每输出一个字符号,就将队头指针前移,将它从缓冲队列中删除。假设有两个进程同时存在于一个应用程序中,第一个进程连续在屏幕上显示字符“X”,第二个进程不断检杳键盘上是否有输入,若有则读入用广键入的字符,将其保存到键盘缓冲区中。四.实验过程原始数据记录1、线性表的链表实现:插入、删除、翻转#include#includeusingnamespacestd;typedefstructnode{intdata.

5、;structnode*link;}LNodc,*LinkList;LinkListinsert(LinkListist)//新建一个链表或插入新兀素intitern,n;LinkListp,q,r;//list第一个结点指针cout«z/howmanydatadoyouwenttoinsert:n二〃;cin>>n;for(inti=0;idata=ite

6、m;p->link=NULL;if(list=NllLL)//输入储存的数据//申请一个新的结点//将数据放入结点的数据域//链尾结点指针域置空list=p;}else//若a小于第一个链接点p->link=list;list=p;)//将新的链接点插在链表最前而//Iist指向被插入的新结点elseq=list;while(q!=NULL&&item>=q->da.ta.)//寻找插入位置r二q;q二q_>]ink;}p->1ink=q;//r指针总址指向当前链接点的直接前驱结点r->link=p;//将新的链

7、结点插在q指示的链结点后面}}}return(list):)LinkListdeleteline(LinkList&list,inta)〃删除链衣中数据域值为item的所有连接点{LinkListp,q=list;p二list->1ink;while(p!=NULL){if(p->data==a){q->link=p->link;free(p);p二q->link;}else{q=p;p=p->link;}}if(list->data=a){q=list;list=list->link;frce(q);}retu

8、rn(1ist);}LinkListoverturnline(LinkList&list)//链农翻转{LinkListp,q=NULL,r:p=list;while(p!=NULL){r二q;q=P;p=p->link;q->link=r;)list=q;return(list);}LinkListcombine(LinkList&listA,LinkList&list

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

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

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