下载此文档

数据结构程实施方案.doc


文档分类:办公文档 | 页数:约46页 举报非法文档有奖
1/46
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/46 下载此文档
文档列表 文档介绍
#defineNULL0typedefstructnode/*定义多项式每一项*/{floatc;/*c为系数*/inte;/*e为指数*/structnode*next;/*next指向下一项*/}dnode;dnode*creat()/*用链表存放多项式(带头结点)*/{dnode*h,*p;inte,i,n;/*n多项式地项数*/floatc;h=(dnode*)malloc(sizeof(dnode));/*分配头结点*/h->next=NULL;do/*当n小于1,则重新输入*/{printf("entern:");scanf("%d",&n);}while(n<1);for(i=1;i<=n;i++){printf("enter%dce:",i);scanf("%f%d",&c,&e);p=(dnode*)malloc(sizeof(dnode));p->c=c;p->e=e;p->next=h->next;/*用头插法建立链表*/h->next=p;}returnh;}voidswap(dnode*p,dnode*q)/*交换p,q指针所指地指数和系数*/b5E2RGbCAP{floattemp;inttemp1;temp1=p->e;p->e=q->e;q->e=temp1;temp=p->c;p->c=q->c;q->c=temp;}voidsort(dnode*h)/*采用冒泡法对链表每一项重新排序*/{dnode*pi,*pl,*p,*q;p=h->next;while(p->next!=NULL)p=p->next;pi=p;/*pi指向最后一次交换地位置,初值为表尾*/while(pi!=h->next){pl=h->next;/*pi为中间变量,起传递地址地作用*/for(p=h->next;p!=pi;p=p->next){ q=p->next; if(p->e>q->e) { swap(p,q); pl=p; }}pi=pl;}}dnode*con(dnode*a,dnode*b)/*稀疏多项式计算*/{intselect;floatx;dnode*p1,*p2,*p,*t;/*t为结果链表地表头*/t=(dnode*)malloc(sizeof(dnode));t->next=NULL;printf("1.+\n");printf("2.-\n");printf("select(1-2):");scanf("%d",&select);p1=a->next;p2=b->next;while(p1&&p2){if(p1->e==p2->e)/*指数相同*/ { if(select==1)x=p1->c+p2->c; elsex=p1->c-p2->c; if(x!=0) { p=(dnode*)malloc(sizeof(dnode)); p->e=p1->e; p->c=x; p->next=t->next; t->next=p; } p1=p1->next; p2=p2->next; }elseif(p1->e>p2->e)/*p1地指数大于p2地指数*/ { p=(dnode*)malloc(sizeof(dnode)); p->e=p2->e; if(select==1)p->c=p2->c; elsep->c=(-1)*p2->c; p->next=t->next; t->next=p; p2=p2->next; }else/*p2地指数大于p1地指数*/ { p=(dnode*)malloc(sizeof(dnode)); p->e=p1->e; p->c=p1->c; p->next=t->next; t->next=p; p1=p1->next; }}while(p1!=NULL)/*p2为空,p1不为空时*/{p=(dnode*)malloc(sizeof(dnode));p=p1;p1=p1->next;p->next=t->next;t->next=p;}while(p2!=NULL)/*p1为空,p2不为空时*/{p=(dnode*)malloc(sizeof(dnode));p->e=p2->e;if(select==2)p->c=(-1)*p2->c;elsep->c=p2->c;p2=p2->next;p->next=t->next;t->next=p;}returnt;}voiddisp(dnode*h)/*打印结果*/{dnode*p;p=h->next;if(p==NULL){printf("0\n");exit(0);}while(p!=NULL){printf("(%,%d)",p->c

数据结构程实施方案 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数46
  • 收藏数0 收藏
  • 顶次数0
  • 上传人taotao0a
  • 文件大小170 KB
  • 时间2019-03-21