通过c语言调用函数的方式来实现线性表的基本操作

通过c语言调用函数的方式来实现线性表的基本操作

ID:9096427

大小:108.50 KB

页数:4页

时间:2018-04-17

通过c语言调用函数的方式来实现线性表的基本操作_第1页
通过c语言调用函数的方式来实现线性表的基本操作_第2页
通过c语言调用函数的方式来实现线性表的基本操作_第3页
通过c语言调用函数的方式来实现线性表的基本操作_第4页
资源描述:

《通过c语言调用函数的方式来实现线性表的基本操作》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验项目一.请通过C语言调用函数的方式来实现线性表的基本操作:1.创建、初始化线性表2.事先给定e,返回其位序3.事先给定e,删除e4.有序表中,插入e5.销毁线性表二.(1)用带头结点的单链表表示多项式,表中每一个结点表示多项式中的一项;(2)一元多项式简单计算器的基本功能为:输入并建立多项式;输出多项式;两个多项式相减。(多项式的各项以指数形式输出)所属课程算法与数据结构实验目的通过本实验,基本掌握线性表的逻辑结构、存储结构及其建立、插入、删除等基本操作。通过相关算法的C语言实现,并考虑线性表在

2、多项式运算中的应用。实验内容(一)请通过C语言调用函数的方式来实现线性表的基本操作:1.创建、初始化线性表2.事先给定e,返回其位序3.事先给定e,删除e4.有序表中,插入e5.销毁线性表注意:通过适当的例子加以调试说明。(二)设计一个一元多项式简单的计算器。要求:(1)用带头结点的单链表表示多项式,表中每一个结点表示多项式中的一项;(2)一元多项式简单计算器的基本功能为:输入并建立多项式;输出多项式;两个多项式相减。(多项式的各项以指数形式输出)实验过程及结果#include#

3、include#defineList_Init_Size100#defineListincrement10#defineOVERFLOW0#defineOK1#defineERROR0typedefintElemType;typedefintstatus;typedefstruct{ElemType*elem;intlength;intlistlize;}sqList;statusInitList(sqList*L){L->elem=(ElemType*)malloc(List_I

4、nit_Size*sizeof(ElemType));if(!L->elem)exit(OVERFLOW);L->length=0;L->listlize=List_Init_Size;returnOK;}#includetypedefstructpolynode{intcoef;intexp;structpolynode*next;}node;node*create(){node*h,*r,*s;intc,e;h=(node*)malloc(sizeof(node));r=h;p

5、rintf("coef:");scanf("%d",&c);printf("exp:");scanf("%d",&e);while(c!=0){s=(node*)malloc(sizeof(node));s->coef=c;s->exp=e;r->next=s;r=s;statusLocateElemList(sqList*L,ElemTypee){inti=0;while(ilength&&(L->elem[i]!=e))++i;if(ilength)returni+1;elser

6、eturn0;}statusDeleteList(sqList*L,ElemTypei){ElemTypee;ElemType*p,*q;if((i<1)

7、

8、(i>L->length))returnERROR;p=&(L->elem[i-1]);e=*p;q=L->elem+L->length-1;for(++p;p<=q;++p)*(p-1)=*p;--L->length;returne;}statusInsertList(sqList*L,inti,ElemTypee){ElemType*p,*

9、q;if((i<1)

10、

11、(i>L->length))returnERROR;if(L->length>=L->listlize){L->elem=(ElemType*)realloc(L->elem,(L->listlize+Listincrement)*sizeof(ElemType));if(!L->elem)exit(OVERFLOW);L->listlize+=Listincrement;}q=&(L->elem[i-1]);for(p=&L->elem[L->length-1];p>=q;

12、--p);*(p+1)=*p;*q=e;++L->length;returnOK;}statusDestoryList(sqList*L){free(L);printf("coef:");scanf("%d",&c);printf("exp:");scanf("%d",&e);}r->next=NULL;return(h);}voidprint(node*p){while(p->next!=NULL){p=p->next;printf("%d*x^%d",p->coe

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

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

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