2016 - 2024

感恩一路有你

节点图上p1p2p3是什么意思 C语言如何实现一元多项式的除法?

浏览量:4326 时间:2023-04-26 22:06:14 作者:采采

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

#定义1

#定义假0

# includestdio.h

#includestdlib.h

typedef结构

{

浮动系数;

int e;

} ElementType

typedef结构节点

{

ElementType数据;

结构节点* next//那个 这就是为什么你想定义结构节点而不是结构。

}Lnode,* LinkList

in head _ creatlinklist(linklist l,int n,element type a[])//通过头插入方法创建链表。

{

int I;

链表头,p;

l(链表)malloc(sizeof(Lnode));

l-nextNULL;

headL

for(i0;在;我)

{

p(链表)malloc(sizeof(Lnode));

p-nextNULL;

【我】。coef

p-data.ea[i]。e;

head-nextp;

headp

}

return TURE

}

int GetElement(链表L)

{

int m;

mL-data . e;

//printf(%d,m);

返回m;

}

int Comp(int a,int b)

{

如果(ab)

返回1;

else if(ab)

return-1;

其他

返回0;

}

int Union _ LinkList(L1链接列表,L2链接列表,L3链接列表)

{

链表p1,p2,p3,flag1,flag2。//标志标记指针,用于删除L2中的节点。

p1l 1-下一个;

p2l 2-下一个;

L3p3L1//L3的变化会导致L1的变化,也就是L3和L1最终会是一样的。

while(p1p2)

{

开关(Comp(获取元素(p1),获取元素(p2)))

{

凯斯·-1:

{

P3-n:

{

P3-n:

{

如果()

{

flag1p1

P1 P1-下一个;

免费(flag 1);

}

flag2p2

P2P 2-下一个;

免费(flag 2);

打破;

}

}

}

P3-next P1 :p 2;

免费(L2);

return TURE

}

int Display_LinkList(LinkList L)

{

链表p;

pL;

如果(!p)

返回FALSE

while(p-next)

{

PP-next;

printf([%f%,%d]

,,p-data . e);

}

printf(

);

return TURE

}

void main()

{

链表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);

}

请编写在带头结点的单链表L上删除其值为奇数的所有元素的算法?

#包括

#包括

#define LEN sizeof(结构节点)

结构节点

{

int num

结构节点* next

};

int main()

{

结构节点* creat();

结构节点*del(结构节点* head);

void print(结构节点*);

结构节点*头;

head creat();

打印(头);

Printf(删除相同节点后:

);

del(头);

打印(头);

返回0;

}

//建立链表的功能

结构节点*creat()

{

结构节点*头;

结构节点*p1,* p2

p1p2(struct Node *)malloc(LEN);

headNULL

int n 0;

P1-num n;

而(p1-num

{

nn 1;

if(n1)head P1;

否则p2-next P1;

p2p1

p1(结构节点*)malloc(LEN);

P1-num n;

}

p2-nextNULL;

返回(头);

}

//删除同一节点的功能

结构节点*del(结构节点*head)

{

结构节点*p,*q,*f,* r;

phead

而(p!空)

{

RP;

fr-next;

而(f!空)

{

if(f-num 2!0)

{

qf;

r-nextf-next;

ff-next;

免费(q);

}

其他

{

RF;

ff-next;

}

}

PP-next;

}

回程头;

}

//输出链表的函数

无效打印(结构节点*头)

{

结构节点* p;

phead

而(p!空)

{

printf(d

,p-num);

PP-next;

}

}

结构 节点 链表

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。