数据结构课程设计 (2) 下载本文

内容发布更新时间 : 2024/11/13 7:50:28星期一 下面是文章的全部内容请认真阅读。

数据结构

课程设计

一元多项式求值

用链式实现一元多项式(poly)的加法运算 系数(float p),指数(int e),指针(*next) 算法思路:同时扫描多项式p1、p2的各项分量,比较他们的指数值,如果相同,则对此指数相对应的系数进行合并求和,将系数和写入p1当前的分量当中,继续扫描p1、p2的下一个分量;否则p1和p2的当前分量的指数值不等,分下面两种情况分析: (1)如果p1当前分量小如p2当前分量的值,则继续扫描p1的下一项。

(2)如果p1当前分量大如p2当前分量的值,则p2插入p1当前分量的前面。 #include \#include \#include \typedef struct node{ float p;//系数 unsigned int e;//指数 struct node *next;//后继地址 }poly,*Poly;

Poly creat()//建一个空链表

{Poly p;

p=(Poly)malloc(sizeof(poly)); p->next=NULL; return p; }

Poly created(Poly P,float a[],int b[],int n)//给空链表赋值 {Poly p1,p2; int i; p1=P;

for(i=0;i

{p2=(Poly)malloc(sizeof(poly)); p2->p=a[i]; p2->e=b[i]; p1->next=p2; p1=p2; } return P; }

void add(Poly p1,Poly p2) {Poly p,c1,c2; p=p1; c1=p1->next;