线性表的链式表示和实现.doc
《线性表的链式表示和实现.doc》由会员分享,可在线阅读,更多相关《线性表的链式表示和实现.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流线性表的链式表示和实现【精品文档】第 6 页数学与计算科学学院实 验 报 告实验项目名称 线性表的链式表示和实现 所属课程名称 数据结构 实 验 类 型 验证型 实 验 日 期 2013.10.31 班 级 信计1201 学 号 201253100109 姓 名 成 绩 一、实验概述:【实验目的】1、了解线性表的逻辑结构特征:总存在第一个和最后一个元素;除第一个元素外,每个元素总存在唯一一个直接前驱元素;除最后一个元素外,每个元素总有唯一一个直接后继元素。2、掌握单链表的基本操作在链式存储结构上的实现【实验原理】1、线性链表特点:是一种动态分配存储结构,
2、每一个结点的指示域指向其直接后继结点(尾结点除外);指针为数据元素之间的逻辑关系的映像。2、线性表的单链表存储结构:typedef struct LNodeElemType data;struct LNode *next;LNode,*LinkList;【实验环境】VC + 6.0二、实验内容:【实验方案】编写主函数,调用线性链表的初始化建空表、查找、插入和删除算法,调制运行,得出结果。【实验过程】(实验步骤、记录、数据、分析)1、输入线性链表的初始化建空表、查找、插入、删除算法以及主函数:/线性表的单链表存储结构typedef struct LNodeElemType data;struct
3、 LNode *next;LNode,*LinkList;void CreateList_L(LinkList &L,int n)/逆位序输入n个元素的值,建立带表头结点的单链线性表L。/CreateList_LStatus GetElem_L(LinkList L,int i,ElemType &e)/L为带头结点的单链表的头指针。/当第i个元素存在时,其值赋给e并返回OK,否则返回ERROR/GetElem_LStatus ListInsert_L(LinkList &L,int i,ElemType e)/在带头结点的单链线性表L中第i个位置之前插入元素e/ListInsert_LSta
4、tus ListDelete_L(LinkList &L,int i,ElemType &e)/在带头结点的单链线性表L中,删除第i个元素,并由e返回其值/ListDelete_Lvoid main()2、保存并开始调试,出现如下错误:error C2065: i : undeclared identifiererror C2065: p : undeclared identifier即i,p未定义,因i是整型,p是链表,故需在前面先进行定义:int i;LinkList p;在scanf(&p-data); /输入元素值 中出现错误:error C2664: scanf : cannot c
5、onvert parameter 1 from int * to const char *.不能将参数1从int *到 const char *,因p-data表示的是一个数,故需说明输入的是一个十进制数,应修改为:scanf(“%d”,&p-data);在Status ListInsert_L(LinkList &L,int i,ElemType e)int;p=L; j=0;while(p&jnext;+j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e;s-next=p-next; p-next=
6、s;return OK;/ListInsert_L中也出现错误:error C2065: p : undeclared identifier;error C2440: = : cannot convert from struct LNode * to int; error C2065: s : undeclared identifier;主要是由于在该编码中p,s表示的是链表,但没给它们进行定义,不能直接把链表赋给它们,因此需在前面对它们进行定义:LinkList p,s;3、把错误修正过来后,运行:输入一个数5,表示链表空间数,回车,再输入任意五个数字如:1 2 3 4 5,回车,得到:5
7、4 3 2 1,完成了链表的建立,并把链表倒转过来;输入数字3,表示查找链表中的第三个元素,回车得出结果,完成链表查找算法;输入2 45,表示在链表第二个元素前插入45,回车得结果,完成链表插入算法;再输入4,表示删除链表第四个元素,回车得结果,完成链表的删除算法;最终完成链表的初始化建空表、查找、插入和删除的算法。【实验结论】(结果)【实验小结】(收获体会)在这次上机实验中,在进行调制时,自己慢慢调试,渐渐地了解了那些错误什么意思,如何修改,最终完成了线性表的链式表示和实现,对线性链表的初始化建空表、查找、插入、和删除算法有了进一步了解。三、指导教师评语及成绩:评 语评语等级优良中及格不及格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 链式 表示 实现
限制150内