一元多项式的相加 数据结构链表实现
来源:互联网 发布:数据库系统及其应用 编辑:程序博客网 时间:2024/06/06 09:01
#include<stdio.h>#include<stdlib.h>typedef struct Node{float coe; //系数int index; //指数Node *next;}*polynomial; //操作名void Initpolynomial(polynomial &L) //创建链表的头结点{polynomial P = (polynomial)malloc(sizeof(Node));P->next =NULL;P->coe = -1.0;P->index = -1;L = P;}void Createpolynomial(polynomial &L,float coe,int index) //在链表尾部输入数据{polynomial P = (polynomial)malloc(sizeof(Node));P->coe = coe;P->index =index;polynomial S = (polynomial)malloc(sizeof(Node)); //用来调整在链表末尾输入数据S = L;while(S->next)S = S->next;P->next = S->next;S->next = P;}void showpolynomial(polynomial L) //用来输出链表{while(L){printf("(系数%.2f 指数%d)",L->coe,L->index);L = L->next;}printf("\n");}polynomial Addpolymial(polynomial Pa,polynomial Pb) //表一 表二 相加结果存放在表三中{polynomial head = (polynomial)malloc(sizeof(Node)); //主要是几个对象的问题需要两个来移动一个来存储一个来当头结点 最后返回///头结点这就是核心Initpolynomial(head);polynomial qa,qb,r,s; //qa qb操作 r存放头结点 s 中转站r = head;qa = Pa->next;qb = Pb->next;while(qa&&qb){polynomial s = (polynomial)malloc(sizeof(Node));if(qa->index < qb->index){s->coe = qa->coe;s->index = qa->index;qa = qa->next;}else if(qa->index > qb->index){s->coe = qb->coe;s->index = qb->index;qb = qb->next;}else{s->coe = qa->coe + qb->coe;s->index = qa->index;qa = qa->next;qb = qb->next;}r->next = s;r = r->next;}while(qa){polynomial s = (polynomial)malloc(sizeof(Node));s->coe = qa->coe;s->index = qa->index;r->next = s;r = s;qa = qa->next;}while(qb){polynomial s = (polynomial)malloc(sizeof(Node));s->coe = qb->coe;s->index = qb->index;r->next = s;r = s;qb = qb->next;}r->next = NULL;return(head);}int main(){polynomial a,b; //创建两个多项式Initpolynomial(a);Createpolynomial(a,1.0,1);Createpolynomial(a,2.0,2);Createpolynomial(a,2.0,3);Createpolynomial(a,3.0,4);Initpolynomial(b);Createpolynomial(b,3.0,1);Createpolynomial(b,4.0,2);Createpolynomial(b,5.0,5);printf("多项式a\n");showpolynomial(a);printf("多项式b\n");showpolynomial(b);polynomial c;c = Addpolymial(a,b);printf("相加后\n");showpolynomial(c);getchar();}怎么说呢 关于这个吧我觉得主要是多熟悉 关键部分是整合代码
0 0
- 一元多项式的相加 数据结构链表实现
- 严蔚敏数据结构:链表实现一元多项式相加
- 数据结构实现一元多项式相加
- 算法:一元多项式的表示及相加(链表实现)-数据结构(4)
- 数据结构 一元多项式相加
- 数据结构 一元多项式的表示及相加
- 一元多项式的表示及相加 数据结构
- PHP数据结构之四 一元多项式的相加PHP单链实现
- 【数据结构 链表的应用】一元多项式相加及相乘 和对问题的分析
- 线性表实现一元多项式的表示及相加
- 一元多项式相加的链式实现
- 用链表实现一元稀疏多项式的相加
- 一元多项式的相加
- 【数据结构】C++链表实现一元多项式的加法
- 一元多项式的表示及相加 【链表的应用】
- 链表形式 写出两个一元多项式相加的算法
- (链表实现)写出两个一元多项式相加的算法
- Polynomial 一元多项式的表示及相加 (线性链表实现 严蔚敏版)
- 深入理解java异常处理机制
- php 快速读取txt或文本
- C/C++动态自定义结构体数组实例锻炼-学生成绩排序
- Collections-sort
- jquery-ui出现Mismatching fragment identifier
- 一元多项式的相加 数据结构链表实现
- hdu 2571
- SQL中 decode()函数简介
- 进程与线程的区别
- 测试基础第一部分总结
- LeetCode:Binary Tree Level Order Traversal
- ocp-306
- Delphi XE8 TMultiView的使用
- MCS-51单片机的存储器组织结构