数据结构线性表实验报告

数据结构线性表实验报告

ID:25926093

大小:56.50 KB

页数:8页

时间:2018-11-23

数据结构线性表实验报告_第1页
数据结构线性表实验报告_第2页
数据结构线性表实验报告_第3页
数据结构线性表实验报告_第4页
数据结构线性表实验报告_第5页
资源描述:

《数据结构线性表实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WORD格式..可编辑实验报告课程数据结构实验名称实验一线性表学号姓名实验日期:实验一线性表实验目的:1.理解线性表的逻辑结构特性;2.熟练掌握线性表的顺序存储结构的描述方法,以及在该存储结构下的基本操作;并能灵活运用;3.熟练掌握线性表的链表存储结构的描述方法,以及在该存储结构下的基本操作;并能灵活运用;4.掌握双向链表和循环链表的的描述方法,以及在该存储结构下的基本操作。实验原理:线性表顺序存储结构下的基本算法;线性表链式存储结构下的基本算法;实验内容:2-21设计单循环链表,要求:(1)     单循环链表抽象数据类型

2、包括初始化操作、求数据元素个数操作、插入操作、删除操作、取消数据元素操作和判非空操作。(2)     设计一个测试主函数,实际运行验证所设计单循环链表的正确性。2-22.设计一个有序顺序表,要求:(1)     有序顺序表的操作集合有如下操作:初始化、求数据元素个数、插入、删除和取数据元素。有序顺序表与顺序表的主要区别是:有序顺序表中的数据元素按数据元素值非递减有序。(2)     设计一个测试主函数,实际运行验证所设计有序顺序表的正确性。(3)     设计合并函数ListMerge(L1,L2,L3),功能是把有序顺序表

3、L1和L2中的数据元素合并到L3,要求L3中的数据元素依然保持有序。并设计一个主函数,验证该合并函数的正确性。程序代码:2-21(1)头文件LinList.h如下:typedefstructnode{DataTypedata;structnode*next;}SLNode;/*(1)初始化ListInitiate(SLNode**head)*/voidListInitiate(SLNode**head){/*如果有内存空间,申请头结点空间并使头指针head指向头结点*/if((*head=(SLNode*)malloc(si

4、zeof(SLNode)))==NULL)exit(1);专业知识整理分享WORD格式..可编辑(*head)->next=NULL;/*置结束标记NULL*/}/*(2)求当前数据元素个数ListLength(SLNode*head)*/intListLength(SLNode*head){SLNode*p=head;intsize=0;while(p->next!=head){p=p->next;size++;}returnsize;}/*(3)插入ListInsert(SLNode*head,inti,DataType

5、x)*//*在带头结点的单链表的第i(0<=i<=size)个结点前*//*插入一个存放数据元素x的结点。插入成功时返回1,失败返回0*/intListInsert(SLNode*head,inti,DataTypex){SLNode*p,*q;intj;p=head;j=-1;while(p->next!=head&&jnext;j++;}if(j!=i-1){printf("Theinsertedpositioniserror!");return0;}/*生成新结

6、点由指针q指示*/if((q=(SLNode*)malloc(sizeof(SLNode)))==NULL)exit(1);q->data=x;专业知识整理分享WORD格式..可编辑q->next=p->next;p->next=q;return1;}/*(4)删除ListDelete(SLNode*head,inti,DataType*x)*//*删除带头结点的单链表head的第i(0<=i<=size)个结点前*//*被删除结点的数据元素域由x带回。删除成功时返回1,失败返回0*/intListDelete(SLNode

7、*head,inti,DataType*x){SLNode*p,*s;intj;p=head;j=-1;while(p->next!=head&&p->next->next!=head&&jnext;j++;}if(j!=i-1){printf("Thedeletedpositionofparameteriserror!");return0;}s=p->next;/*指针s指指向ai结点*/*x=s->data;p->next=p->next->next;/*删除*/

8、free(s);/*释放指针s所指结点的内存空间*/return1;}/*(5)取数据元素ListGet(SLNode*head,inti,DataType*x)*/intListGet(SLNode*head,inti,DataType*x){专业知识整理分享WORD格式..可编辑SLN

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

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

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