【数据结构_链表_List_1040】一元多项式加法运算的实现
来源:互联网 发布:mysql 5.5.58编译安装 编辑:程序博客网 时间:2024/04/28 20:35
#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string.h>using namespace std;typedef struct node{ int data1,data2;//data1表示系数,data2表示次方; struct node *next;}List;void initList(List *&L){ L=(List *)malloc(sizeof(List)); List *p,*q; p=L; int dat1,dat2; char dot; while(cin>>dat1>>dot>>dat2) { if(dat1==0 && dat2==0) break; q=(List *)malloc(sizeof(List)); q->data1=dat1; q->data2=dat2; p->next=q; p=q; } p->next=NULL;}void addList(List *&L1,List *&L2){List *p,*q,*r,*s;p=L1->next;q=L2->next;while(p!=NULL){int tmp=p->data2;while(q!=NULL){r=q->next;if(q->data2==tmp){q->data1+=p->data1;break;}else if(r!=NULL && q->data2<tmp && r->data2>tmp){s=(List *)malloc(sizeof(List));s->data1=p->data1;s->data2=p->data2;q->next=s;s->next=r;break;}else if(r==NULL){s=(List *)malloc(sizeof(List));s->data1=p->data1;s->data2=p->data2;q->next=s;s->next=r;break;}else if(q==L2->next && tmp<q->data2){s=(List *)malloc(sizeof(List));s->data1=p->data1;s->data2=p->data2;L2->next=s;s->next=q;break;}else q=q->next;}p=p->next;q=L2->next;}}void Traverse(List *&L){List *p=L->next;while(p!=NULL) { if(p->data1!=0) cout<<p->data1<<"x^"<<p->data2; p=p->next; if(p!=NULL && p->data1!=0) cout<<"+"; }}int main(){List *L1,*L2;initList(L1);initList(L2);addList(L1,L2);Traverse(L2);return 0;}
0 0
- 【数据结构_链表_List_1040】一元多项式加法运算的实现
- 链表_一元多项式的乘法与加法运算
- 用链表实现一元多项式的加法运算
- [数据结构]-- PTA一元多项式的乘法与加法运算
- [数据结构]-- PTA一元多项式的乘法与加法运算
- 数据结构--线性表--一元多项式加法运算
- 一元多项式的加法和乘法运算(Java实现)——浙大数据结构(陈越)
- 【数据结构】C++链表实现一元多项式的加法
- 一元多项式的加法和乘法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的加法与乘法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 计数
- 909422229_Java基础必须会的!
- 如何在Oracle中导入dmp文件
- 添加元素
- Giraph通信模块分析
- 【数据结构_链表_List_1040】一元多项式加法运算的实现
- 用selenium抓取500px上的图片
- 数组合并
- 【树链剖分】学习笔记
- 【游戏设计模式】之 《游戏编程模式》全书内容提炼总结
- 删除数组第一个元素
- Course Schedule
- Springcloud Config
- 1