专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C语言如何实现一元多项式的除法_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 5:25:50       共计:3611 浏览

C语言如何实现一元多项式的除法?

#define TURE 1

#define FALSE 0

#include<stdio.h>

#include<stdlib.h>

typedef struct

{

float coef;

int e;

}ElementType;

typedef struct node

{

ElementType data;

struct node *next;//这也是为什么要定义struct node 而非struct的原因

}Lnode,*LinkList;

int Head_CreatLinkList (LinkList &L,int n,ElementType a[])//头插法建立链表

{

int i;

LinkList head,p;

L=(LinkList)malloc(sizeof(Lnode));

L->next=NULL;

head=L;

for(i=0;i<n;i++)

{

p=(LinkList)malloc(sizeof(Lnode));

p->next=NULL;

p->data.coef=a[i].coef;

p->data.e=a[i].e;

head->next=p;

head=p;

}

return TURE;

}

int GetElement(LinkList L)

{

int m;

m=L->data.e;

//printf("%d",m);

return m;

}

int Comp(int a,int b )

{

if(a>b)

return 1;

else if(a<b)

return -1;

else

return 0;

}

int Union_LinkList(LinkList &L1,LinkList &L2,LinkList &L3)

{

LinkList p1,p2,p3,flag1,flag2;//flag标记指针,用于删除L2中节点

p1=L1->next;

p2=L2->next;

L3=p3=L1;//L3改变将导致L1的改变,即最终L3和L1相同

while(p1&&p2)

{

switch(Comp(GetElement( p1),GetElement( p2)))

{

case -1:

{

p3->next=p1;

p3=p1;

p1=p1->next;

break;

}

case 1:

{

p3->next=p2;

p3=p2;

p2=p2->next;

break;

}

case 0:

{

p1->data.coef=p1->data.coef+p2->data.coef;

if(p1->data.coef==0)

{

flag1=p1;

p1=p1->next;

free(flag1);

}

flag2=p2;

p2=p2->next;

free(flag2);

break;

}

}

}

p3->next=p1?p1:p2;

free(L2);

return TURE;

}

int Display_LinkList(LinkList L)

{

LinkList p;

p=L;

if(!p)

return FALSE;

while(p->next)

{

p=p->next;

printf("[%f%, %d]\t",p->data.coef,p->data.e);

}

printf("\n");

return TURE;

}

void main()

{

LinkList a,b,c;

ElementType a1[6]={{1,1},{2,7},{3,3},{4,4},{5,9},{1,10}};

ElementType a2[4]={{-1,1},{2,7},{3,8},{-5,9}};

Head_CreatLinkList (a,6,a1);

Head_CreatLinkList (b,4,a2);

Display_LinkList(a);

Display_LinkList(b);

Union_LinkList(a,b,c);

Display_LinkList(c);

}

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:萤石云视频监控怎么删_服务器 | ·下一条:云计算可随时随地存取吗_服务器

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有