


- /*
- 系数:coefficient
- 指数: exponent
- */
-
- #include
- using namespace std;
- int n,m;
-
- struct Node
- {
- int expn; //指数
- int coef; //系数
- Node *next;
- Node(){}
- Node(int key1,int key2):expn(key1),coef(key2),next(NULL){}
- };
-
- void init(Node* &la,Node* &lb)
- {
-
- cin>>n>>m;
-
- //1.整理第一个多项式
- for(int i=1;i<=n;i++)
- {
- int expn,coef;
- cin>>expn>>coef;
- Node *now=new Node(expn,coef);
-
- /*
- 找到【la链表】中第一个大于等于【新输入的节点指数值】的
- 节点的 【前一个节点】。
- (要找的节点的前一个节点)
- */
- Node *p=la;
- while(p->next&&(p->next->expn)< now->expn)
- {
- p=p->next;
- }
-
- //现在p就是前一个节点,他的后一个节点有两种情况:1.等于now的指数,2.大于now的指数
- if(p->next!=NULL&&p->next->expn==now->expn) //指数相同就合并
- {
-
- p->next->coef+=now->coef;
-
- }
- else //指数不同就插入
- {
- now->next=p->next;
- p->next=now;
-
- }
- }
-
-
- //2.整理第二个多项式
- for(int i=1;i<=m;i++)
- {
- int expn,coef;
- cin>>expn>>coef;
- Node *now=new Node(expn,coef);
-
- Node *p=lb;
- while(p->next&&p->next->expn < now->expn) //找要找节点的前一个节点
- {
- p=p->next;
- }
-
-
- if(p->next!=NULL&&p->next->expn==now->expn) //指数相同就合并
- {
- p->next->coef+=now->coef;
- }
- else //指数不同就插入
- {
- now->next=p->next;
- p->next=now;
- }
- }
- }
-
-
- void merge(Node *la,Node *lb)
- {
-
- Node *pa=la->next;
- Node *pb=lb->next;
-
- while(pa&&pb)
- {
- if(pa->expn==pb->expn) //如果指数相同
- {
- if(pa->coef+pb->coef!=0)
- cout<
expn<<" "<<(pa->coef+pb->coef)<//装入答案中 - pa=pa->next;
- pb=pb->next;
- }
- else if(pa->expn
expn) //如果pa的指数小于pb的指数 - {
- cout<
expn<<" "<coef<//装入答案中 - pa=pa->next;
- }
- else if(pa->expn>pb->expn) //如果pa的指数大于pb的指数
- {
- cout<
expn<<" "<coef<//装入答案中 - pb=pb->next;
- }
- }
-
- //扫尾
- while(pa)
- {
- cout<
expn<<" "<coef< - pa=pa->next;
- }
-
- while(pb)
- {
- cout<
expn<<" "<coef< - pb=pb->next;
- }
- }
-
-
-
- int main()
- {
- //la是第一个链表的开头 ,lb是第二个链表的开头
- Node *la=new Node(),*lb=new Node();
- la->next=NULL;
- lb->next=NULL;
-
- init(la,lb); //用两个链表分别整理两个多项式
-
-
- merge(la,lb); //实现两个多项式相加
-
-
- return 0;
- }
-
相关阅读:
探究 Meme 的金融与社交属性
Mapper层注解讲解
操作系统MIT6.S081:[xv6参考手册第4章]->Trap与系统调用
自学系列之小游戏---贪吃蛇(vue3+ts+vite+element-plus+sass)(module.scss + tsx)
面试:dumpsys meminfo 内存信息含义
react antd 主题
VScode安装与汉化
C++11标准模板(STL)- 算法(std::transform)
电力电子转战数字IC20220704day39——路科实验3c
【python海洋专题四十三】海洋指数画法--单色渐变柱状图
-
原文地址:https://blog.csdn.net/bei2002315/article/details/127957993