单链表实现多项式的存储和加法
来源:互联网 发布:网络金庸群侠传怀旧版 编辑:程序博客网 时间:2024/05/22 02:08
采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。
算法分析:
不采用申请新节点的方法,要充分利用老节点。
代码实现如下:
#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef struct node{ int coef,exp; struct node *next;} JD,*LinkList;LinkList Create(){ LinkList head,p,q; int c,e; head=(LinkList)malloc(sizeof(JD)); p=head; head->next=NULL; cin>>c>>e; while(c!=0&&e!=0) { q=(LinkList)malloc(sizeof(JD)); q->coef=c; q->exp=e; q->next=NULL; p->next=q; p=p->next; cin>>c>>e; } return head;}void Add(LinkList &LA,LinkList &LB,LinkList &LC){ LinkList pa,pb,pc; pa=LA->next; pb=LB->next; pc=LC; while(pa!=NULL&&pb!=NULL) { if(pa->exp<pb->exp) { pc->next=pa; pc=pa; pa=pa->next; } if(pa->exp>pb->exp) { pc->next=pb; pc=pb; pb=pb->next; } if(pa->exp==pb->exp) { int m=pa->coef+pb->coef; //cout<<"asjkdf"<<pa->coef<<"jswfaio"<<pb->coef<<endl; //cout<<"M= "<<m<<endl; if(m!=0) { pa->coef=m; pc->next=pa; pc=pa; pa=pa->next; LinkList t=pb; pb=pb->next; free(t); } else { LinkList t=pb; pb=pb->next; free(t); t=pa; pa=pa->next; free(t); } } } if(pa!=NULL) { pc->next=pa; } else { pc->next=pb; }}void Display(LinkList head){ LinkList p; p=head->next; while(p!=NULL) { cout<<p->coef<<" "<<p->exp<<" "; p=p->next; } cout<<endl;}int main(){ LinkList head,h1,h2; cout<<"Please input the first equation:"<<endl; h1=Create(); cout<<"Please input the second equation:"<<endl; h2=Create(); head=(LinkList)malloc(sizeof(JD)); head->next=NULL; cout<<"The first equation is: "<<endl; Display(h1); cout<<"The second equation is: "<<endl; Display(h2); Add(h1,h2,head); cout<<"The result equation is: "<<endl; Display(head); return 0;}
0 0
- 单链表实现多项式的存储和加法
- 多项式加法的实现
- 单链表的应用——多项式加法的C语言实现(链式存储结构)
- 多项式加法的Java实现
- 多项式的加法乘法实现
- 多项式的加法和乘法
- 多项式的加法和乘法算术运算的C++实现
- 链表实现多项式的加法和乘法
- 链表实现多项式的加法和乘法
- 链表存储的多项式加法
- java单链表实现一元多项式加法和乘法运算
- 单链表实现多项式加法的头文件(待删改)
- 用数组实现多项式加法和乘法
- 链表实现多项式加法和乘法
- c++实现链式存储结构实现一元多项式的加法运算
- 多项式的加法与乘法(C++实现)
- 用链表实现一元多项式的加法运算
- 链表实现两个多项式的加法
- 插入排序inserttion sort顺序版( C语言、java、PHP代码示例 )01
- 蓝桥杯+埃及分数
- 【程序员面试金典】数组与字符串
- 数据结构—顺序串
- hdu 5666 Segment【思维+快速积】
- 单链表实现多项式的存储和加法
- Ubuntu vi 上下左右变ABCD问题解决方法
- 蓝桥杯+金蝉素数
- A,B,C类IP地址的解说
- rails ajax
- 哈工大语言云(LTP)本地安装使用及Python调用
- HOOK钩子机制
- hdu4467|zoj3742改变一个点影响到它周围的线路属性,询问整张图某属性的值(重点,轻点)
- string的常用方法