线性表及多项式操作

线性表及多项式操作

ID:20927529

大小:110.13 KB

页数:24页

时间:2018-10-17

线性表及多项式操作_第1页
线性表及多项式操作_第2页
线性表及多项式操作_第3页
线性表及多项式操作_第4页
线性表及多项式操作_第5页
资源描述:

《线性表及多项式操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告实验名称线性表及多项式的运算指导教师邹志强实验类型验证实验学时2+2实验时间2016.9.16一、实验目的和要求1.掌握线性表的两种基本存储结构及其应用场合:顺序存储和链接存储。2.掌握顺序表和链表的各种基本操作算法。3.理解线性表应用于多项式的实现算法。二、实验环境(实验设备)Dev-C++24三、实验原理及内容内容:1.参照程序2.1~程序2.7,编写程序,完成顺序表的初始化、查找、插入、删除、输出、撤销等操作。2.已知代表头节点的单链表的类型定义,参照程序2.8~程序2.14,编写程序,完成带表头节点的单链表的初始化、查找、

2、插入、删除、输出、撤销等操作。3.以第2题所示带表头节点的单链表为例,编写程序实现单链表的逆置操作(原单链表为(a0,a1,...an-1),逆置后为(an-1,an-2,...,a0),要求不引入新的存储空间。)4.以第2题所示带表头节点的单链表为存储结构,编写程序实现将单链表排序成为有序单链表的操作。5.已知带表头节点一元多项式的类型定义,编写程序实现一元多项式的创建、输出、撤销以及两个一元多项式相加和相乘的操作。实验报告24三、实验过程及代码等1.顺序表的基本运算顺序表的类型定义:typedefstruct{intn;intmaxL

3、ength;int*element;}SeqList;顺序表的初始化:typedefintStatus;StatusInit(SeqList*L,intmSize){L->maxLength=mSize;L->n=0;L->element=(int*)malloc(sizeof(Status)*mSize);if(!L->element)//判断顺序表是否申请成功returnERROR;returnOK;}顺序表的查找StatusFind(SeqListL,inti,int*x){if(i<0

4、

5、i>L.n-1)//越界判断returnE

6、RROR;24*x=L.element[i];returnOK;}顺序表的插入:StatusInsert(SeqList*L,inti,intx){intj;if(i<-1

7、

8、i>L->n-1)returnERROR;if(L->n==L->maxLength)returnERROR;for(j=L->n-1;j>i;j--)L->element[j+1]=L->element[j];L->element[i+1]=x;L->n++;returnOK;}顺序表的删除:StatusDelete(SeqList*L,inti){intj;if

9、(i<0

10、

11、i>L->n-1)returnERROR;if(!L->n)returnERROR;for(j=i+1;jn;j++)L->element[j-1]=L->element[j];24L->n--;returnOK;}顺序表的输出:StatusOutput(SeqListL)//输出{inti;if(!L.n)returnERROR;for(i=0;in=0;L->m

12、axLength=0;free(L->element);}用主函数进行测试:#include#include#defineERROR0#defineOK1intmain(){24inti;SeqListlist;Init(&list,10);for(i=0;i<10;i++)Insert(&list,i-1,i);Output(list);printf("");Delete(&list,0);Output(list);Destroy(&list);}调用结果:24实验报告2.带表头节点单链表的基本

13、运算单链表的类型定义(struct.h):typedefstructNode{intelement;//结点的数据域structNode*link;//结点的指针域}Node;typedefstruct{structNode*head;intn;}headerList;typedefintstatus;单链表的初始化(Init.c):statusInit(headerList*L){L->head=(Node*)malloc(sizeof(Node));if(!L->head)returnERROR;L->head->link=NULL;

14、L->n=0;returnOK;}单链表的查找(Find.c):statusFind(headerListL,inti,int*x)24{Node*p;intj;if(i<0

15、

16、i>L.n-1

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

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

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