资源描述:
《通过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