《线性表的链式存储结构实验报告.doc》由会员分享,可在线阅读,更多相关《线性表的链式存储结构实验报告.doc(6页珍藏版)》请在金锄头文库上搜索。
1、贵州大学实验报告学院:计算机科学与信息学院 专业:信息安全 班级:姓名学号实验组实验时间2014-4-25指导教师叶洁成绩实验项目名称线性表的链式存储结构实验目的1. 熟练掌握线性表的基本操作在链式存储上的实现;2. 以线性表的各种操作(建立、插入、删除等)的实现为重点;3. 掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;实验环境Windows 7 Visual Studio2012实验内容1输入一组整型数据,建立带头结点的单链表。2实现该线性表的删除。3、实现该线性表的插入。4实现线形表中数据的显示。5实现线性表数据的查找和定位5、编写一个主函数,调试上述算法。实验数据实验代码:#
2、includeusing namespace std;struct chaintableint data;chaintable *next;chaintable *Buildtable(int x,int y)chaintable *p,*head;p=new chaintable;head=p;p-data=x0;for(int i=1;inext=new chaintable;p=p-next;p-data=xi;p-next=NULL;return head;bool Deltable(chaintable *&head,int x)if(x1)return false;chaintab
3、le *relief,*p=head;for(int i=0;inext=NULL)return false;p=p-next;if(x=1)relief=head;head=head-next;delete relief;if(head!=NULL)return true;else return false;else if(p-next!= NULL)relief=p-next;p-next=p-next-next;delete relief;return true;else return false;bool Inserttable(chaintable *&head,int x,int
4、y)if(ydata=x;t-next=NULL;if(y=0)t-next=head;head=t;return true;elsefor(int i=0;inext=NULL)return false;p=p-next;t-next=p-next;p-next=t;return true;void Disptable(chaintable *p)while(p!=NULL)coutdatanext;cout=1)for(int i=0;inext=NULL)return false;p=p-next;y=p-data;return true;elsereturn false;int Loc
5、ation(chaintable *p,int x)int i=1;while(p!=NULL)if(p-data=x)return i;i+;p=p-next;return 0;void main()int x,*temp,result;chaintable *head;cinx;temp=new intx;for(int i=0;itempi;head=Buildtable(temp,x);if(Deltable(head,2)cout删除操作结果:;Disptable(head);elsecout操作失败!endl;if(Inserttable(head,23,5)cout将23插入到第
6、五个数字后面的操作结果:;Disptable(head);elsecout操作失败!endl;if(Searchtable(head,result,4)cout链表的第四个数是:;coutSearch result:resultendl;elsecout操作失败!endl;coutx;coutLocation:Location(head,x)endl;实验结果:实验总结结果说明:1、第一行的8表示链表初始有8个数2、第二行的8个数是链表初始化的8个数3、第三行的结果是从链表删除了第二个数后的结果4、第五行的结果是搜索链表第四个数5、第六行是输入一个数要搜索的数(图中为25),第七行得出了搜索的结果。指导教师意见签名: 年 月 日注:请在实验报告后附程序清单