线性表的链式表示和实现.doc

线性表的链式表示和实现.doc

ID:57187623

大小:450.50 KB

页数:8页

时间:2020-08-05

线性表的链式表示和实现.doc_第1页
线性表的链式表示和实现.doc_第2页
线性表的链式表示和实现.doc_第3页
线性表的链式表示和实现.doc_第4页
线性表的链式表示和实现.doc_第5页
资源描述:

《线性表的链式表示和实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学与计算科学学院实验报告实验项目名称线性表的链式表示和实现所属课程名称数据结构实验类型验证型实验日期2013.10.31班级信计1201学号9姓名成绩一、实验概述:【实验目的】1、了解线性表的逻辑结构特征:总存在第一个和最后一个元素;除第一个元素外,每个元素总存在唯一一个直接前驱元素;除最后一个元素外,每个元素总有唯一一个直接后继元素。2、掌握单链表的基本操作在链式存储结构上的实现【实验原理】1、线性链表特点:是一种动态分配存储结构,每一个结点的指示域指向其直接后继结点(尾结点除外);指针为数据元素之间的逻辑关系的映像。2、线性表的单链表存储结构:typedefst

2、ructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;【实验环境】VC++6.0二、实验内容:【实验方案】编写主函数,调用线性链表的初始化建空表、查找、插入和删除算法,调制运行,得出结果。【实验过程】(实验步骤、记录、数据、分析)1、输入线性链表的初始化建空表、查找、插入、删除算法以及主函数://线性表的单链表存储结构typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;voidCreateList_L(LinkList&L,int

3、n){//逆位序输入n个元素的值,建立带表头结点的单链线性表L。………………}//CreateList_LStatusGetElem_L(LinkListL,inti,ElemType&e){//L为带头结点的单链表的头指针。//当第i个元素存在时,其值赋给e并返回OK,否则返回ERROR………………}//GetElem_LStatusListInsert_L(LinkList&L,inti,ElemTypee){//在带头结点的单链线性表L中第i个位置之前插入元素e………………}//ListInsert_LStatusListDelete_L(LinkList&L,

4、inti,ElemType&e){//在带头结点的单链线性表L中,删除第i个元素,并由e返回其值………………}//ListDelete_Lvoidmain(){………………}2、保存并开始调试,①出现如下错误:errorC2065:'i':undeclaredidentifiererrorC2065:'p':undeclaredidentifier即‘i’,’p’未定义,因i是整型,p是链表,故需在前面先进行定义:inti;LinkListp;②在scanf(&p->data);//输入元素值中出现错误:errorC2664:'scanf':cannotconvert

5、parameter1from'int*'to'constchar*'.不能将参数1从'int*'到'constchar*',因p->data表示的是一个数,故需说明输入的是一个十进制数,应修改为:scanf(“%d”,&p->data);③在StatusListInsert_L(LinkList&L,inti,ElemTypee){int;p=L;j=0;while(p&&jnext;++j;}if(!p

6、

7、j>i-1)returnERROR;s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=

8、p->next;p->next=s;returnOK;}//ListInsert_L中也出现错误:errorC2065:'p':undeclaredidentifier;errorC2440:'=':cannotconvertfrom'structLNode*'to'int';errorC2065:'s':undeclaredidentifier;主要是由于在该编码中p,s表示的是链表,但没给它们进行定义,不能直接把链表赋给它们,因此需在前面对它们进行定义:LinkListp,s;3、把错误修正过来后,运行:输入一个数5,表示链表空间数,回车,再输入任意五个数字如:1

9、2345,回车,得到:54321,完成了链表的建立,并把链表倒转过来;输入数字3,表示查找链表中的第三个元素,回车得出结果,完成链表查找算法;输入245,表示在链表第二个元素前插入45,回车得结果,完成链表插入算法;再输入4,表示删除链表第四个元素,回车得结果,完成链表的删除算法;最终完成链表的初始化建空表、查找、插入和删除的算法。【实验结论】(结果)【实验小结】(收获体会)在这次上机实验中,在进行调制时,自己慢慢调试,渐渐地了解了那些错误什么意思,如何修改,最终完成了线性表的链式表示和实现,对线性链表的初始化建空表、查找、插入、和删除算法有了进一步

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

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

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