数据结构C语言描述——用单链表实现多项式的相加
来源:互联网 发布:cad制图软件官方下载 编辑:程序博客网 时间:2024/06/13 02:01
#include <stdio.h>#include <stdlib.h>typedef DataType;typedef struct Node2{DataType xishu;DataType zhisu;struct Node2 *Next;}Node2;typedef struct Node2* PNode2;//多项式按照指数大小排序void insertNewPoint_link(PNode2 head,PNode2 qNode){PNode2 p=head;while (p->Next!=NULL){if (p->Next->zhisu>qNode->zhisu){qNode->Next=p->Next;p->Next=qNode;break;}p=p->Next;}if (p->Next==NULL){p->Next=qNode;}}//打印多项式void printLinkeLink(PNode2 head){PNode2 temp=head->Next;while (temp!=NULL){printf("%d %d",temp->xishu,temp->zhisu);printf("\n");temp=temp->Next;}}//多项式的加法计算void add_poly(Node2 *pa,Node2 *pb){Node2 *p=pa->Next;Node2 *q=pb->Next;Node2 *pre=pa;Node2 *u;while (p!=NULL&&q!=NULL){if (p->zhisu<q->zhisu){pre=p;p=p->Next;} else if(p->zhisu==q->zhisu){float x=p->xishu+q->xishu;if (x!=0){p->xishu=x;pre=p;} else{pre->Next=p->Next;//指向下一个结点free(p);}p=pre->Next;u=q;q=q->Next;free(u);}else{u=q->Next;q->Next=p;pre->Next=q;pre=q;q=u;}}if (q){pre->Next=q;}free(pb);}void main( ){int zhishu;float xishu;PNode2 head1=(PNode2)malloc(sizeof(struct Node2));PNode2 head2=(PNode2)malloc(sizeof(struct Node2));PNode2 tem=NULL;head1->Next=NULL;head2->Next=NULL;printf("输入链表一的系数和指数,如:3,2 以0,0结束输入:\n");scanf("%f,%d",&xishu,&zhishu);while (xishu!=0||zhishu!=0){tem=(PNode2)malloc(sizeof(struct Node2));tem->xishu=xishu;tem->zhisu=zhishu;tem->Next=NULL;insertNewPoint_link(head1,tem);scanf("%f,%d",&xishu,&zhishu);}printf("链表一按指数升序排序后的多项式为:\n");printLinkeLink(head1);printf("\n");printf("输入链表一的系数和指数,如:3,2 以0,0结束输入:\n");scanf("%f,%d",&xishu,&zhishu);while (xishu!=0||zhishu!=0){tem=(PNode2)malloc(sizeof(struct Node2));tem->xishu=xishu;tem->zhisu=zhishu;tem->Next=NULL;insertNewPoint_link(head2,tem);scanf("%f,%d",&xishu,&zhishu);}printf("链表二按指数升序排序后的多项式为:\n");printLinkeLink(head2);printf("\n");add_poly(head1,head2);printf("多项式相加后的结果为:\n");printLinkeLink(head1);}
0 0
- 数据结构C语言描述——用单链表实现多项式的相加
- c语言:多项式相加的实现
- 多项式相加的C语言实现
- 数据结构——多项式相加
- C语言实现多项式的相加(链表)
- 数据结构C 语言描述——实现栈的基本功能
- 多项式加减运算—c语言描述
- 一元多项式相加(C语言实现)
- c语言一元多项式的相加
- 数据结构——一元多项式的表示及相加
- 数据结构实现一元多项式相加
- 多项式相加(C语言)
- 数据结构应用-------------多项式的相加
- 一元多项式的相加 数据结构链表实现
- 线性表的应用——求解两个多项式相加问题描述(顺序表求解)
- 线性表的应用——求解两个多项式相加问题描述(链表求解)
- 线性表的应用——求解两个多项式相加问题描述(顺序表求解)
- 线性表的应用——求解两个多项式相加问题描述(链表求解)
- 开门人和关门人<hdoj1234>
- Container With Most Water
- Android中View的滑动方式
- STL模板库栈
- Java关键字
- 数据结构C语言描述——用单链表实现多项式的相加
- MYSQL之插入更新删除数据
- STL模板库优先队列
- hdoj2187悼念512汶川大地震遇难同胞——老人是真饿了(sort+结构体+贪心)
- 光伏最大功率跟踪以及并网PSCAD模型
- HDU多校联合训练 Problem1001 Abandoned country
- 常用adb命令详解
- Git的使用
- 今年暑假不AC<hdoj2307>