资源描述:
《西南交大数据结构实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.......目录实验一一元稀疏多项式的计算2实验三停车场管理3实验四算术表达式求值3实验七哈夫曼编/译码器实验指导书3实验八最短路径实验指导书3实验十部排序算法比较实验指导书3.s..............实验一一元稀疏多项式的计算#include#include#includetypedefstructItem{doublecoef;intexpn;structItem*next;}Item,*Polyn;#defineCreateItem(p)p=(Item*)malloc(sizeof(Item));
2、#defineDeleteItem(p)free((void*)p);/************************************************************//*判断选择函数*//************************************************************/intSelect(char*str){charch;printf("%s",str);printf("InputYorN:");do{ch=getch();}while(ch!='Y'&&ch!='y'&&ch!='N'&&ch
3、!='n');printf("");if(ch=='Y'
4、
5、ch=='y')return(1);elsereturn(0);}/************************************************************//*插入位置定位函数*//**************************************************************/intInsertLocate(Polynh,intexpn,Item**p){Item*pre,*q;pre=h;q=h->next;while(q&&q->exp
6、nnext;}if(!q){*p=pre;return(1);}elseif(q->expn==expn){*p=q;return(0);}.s..............else{*p=pre;return(-1);}}/************************************************************//*插入结点函数*//************************************************************/voidinsert(Item*pre,Ite
7、m*p){p->next=pre->next;pre->next=p;}/************************************************************//*输入多项式*//************************************************************/PolynInput(void){doublecoef;intexpn,flag;Item*h,*p,*q,*pp;CreateItem(h);//产生头结点h->next=NULL;printf("inputcoefandexpn(
8、ifend,expn=-1)");while(1){printf("coef=");scanf("%lf",&coef);printf("expn=");scanf("%d",&expn);//输入多项式的系数和指数if(expn==-1)break;//若指数为-1,表示输入结束if(InsertLocate(h,expn,&pp))//返回值非0表示插入新结点{CreateItem(p);p->coef=coef;p->expn=expn;insert(pp,p);//按顺序在插入}elseif(Select("hasthesameexpn,Replaceo
9、ldervalue?"))pp->coef=coef;//指数相同,替换系数}returnh;}/************************************************************//*撤消多项式*//************************************************************/voidDestroy(Polynh){.s..............Item*p=h,*q;while(p!=NULL){q=p;p=p->next;DeleteItem(q);}}/*********