数据结构学习(三)多项式加法链式实现
来源:互联网 发布:直播 杭州 人工智能 编辑:程序博客网 时间:2024/06/06 03:37
#include <stdio.h>#include <stdlib.h>typedef struct Node *ListNode;struct Node {int coeff;int expo;ListNode next;};ListNode initList(ListNode poly);void insert(ListNode poly, int coeff, int expo);void addPoly(ListNode polya, ListNode polyb);int main(){ListNode polya, polyb;int a, b; initList(polya); initList(polyb);printf("输入第一个多项式:\n"); while (a!='\0') { scanf("%d",&a); scanf("%d",&b); insert(polya, a, b); } printf("输入第二个多项式:\n"); while (a!="\0") { scanf("%d",&a); scanf("%d",&b); insert(polyb, a, b); } addPoly(polya, polyb); return 0; }ListNode initList(ListNode poly){poly=(ListNode)malloc(sizeof(struct Node));poly->next=NULL;return poly;}void insert(ListNode poly, int coeff, int expo){ListNode pre=poly, new;new=(ListNode)malloc(sizeof(struct Node));for(pre=poly;pre->next;pre=pre->next); new->coeff=coeff; new->expo=expo; new->next=NULL; pre->next=new;}void addPoly(ListNode polya, ListNode polyb){ ListNode polyadd;initList(polyadd);ListNode ptra=polya, ptrb, ptradd;for(ptrb=polyb; ptra&&ptrb; ){if(ptra->expo > ptrb->expo){insert(polyadd, ptra->coeff, ptra->expo);ptra=ptra->next;}else if (ptra->expo < ptrb->expo){insert(polyadd, ptrb->coeff, ptrb->expo);ptrb=ptrb->next;}else{if(ptra->coeff+ptrb->coeff!=0){insert(polyadd, ptra->coeff+ptrb->coeff, ptra->expo);}ptra=ptra->next; ptrb=ptrb->next;}}if(ptra){for(;ptra;ptra=ptra->next){insert(polyadd, ptra->coeff, ptra->expo);} }elseif(ptrb){for(;ptrb;ptrb=ptrb->next){insert(polyadd, ptrb->coeff, ptrb->expo);}}for(ptradd=polyadd;ptradd;ptradd=ptradd->next){ if(ptradd->next)printf("%d x^%d +", ptradd->coeff, ptradd->expo); else printf("%d x^%d ", ptradd->coeff, ptradd->expo);}}
0 0
- 数据结构学习(三)多项式加法链式实现
- 数据结构 学习笔记(三):线性结构:堆栈,队列,表达式求值,多项式加法运算
- 数据结构--线性表(顺序实现,链式实现,多项式计算)
- 数据结构学习笔记(二)多项式加法与乘法
- 单链表的应用——多项式加法的C语言实现(链式存储结构)
- 【数据结构】链表:多项式加法
- 一元多项式的加法(java实现)——浙大数据结构(陈越)
- 一元多项式的加法和乘法运算(Java实现)——浙大数据结构(陈越)
- 数据结构(3)--线性表实现一元多项式加法
- Java数据结构之多项式加法和乘法实现
- 数据结构课后习题 实现多项式的加法 c语言版
- 【数据结构_链表_List_1040】一元多项式加法运算的实现
- 数据结构 P42-43 算法实现 多项式的建立及加法
- 【数据结构】C++链表实现一元多项式的加法
- 多项式加法的实现(链表版)
- C++实现多项式加法
- 多项式加法的实现
- 多项式加法-->动态实现
- ACM竞赛中的逆向思维
- UIScrollView 实践经验
- 挖掘频繁模、关联和相关性(1)
- matches与equals
- mysql5.6.27安装 总结
- 数据结构学习(三)多项式加法链式实现
- 重叠模型IO的优点
- [数据库原理]是不是先运行SELECT....FROM,再执行WHERE语句?
- Ruby数据类型range用法总结
- 关于日期的相差值计算
- CSS3 Gradient
- contentprovider 总结(一)
- 读取工程下指定路径文件
- (java) leetcode Add Digits