C++ 实现两个多项式的合并

这段代码展示了如何使用C++实现两个多项式合并的功能。通过定义结构体表示多项式的节点,采用链表存储多项式,并实现了多项式链表的创建、排序、合并及打印功能。用户可以输入两个多项式的节点数和系数指数,程序会将两个多项式按指数递减排序并合并。
摘要由CSDN通过智能技术生成
/*两个多项式合并*/

#include <iostream>
using namespace std;
typedef struct node     /*定义结构体*/
{
	int factor;  //系数
	int indice;  //幂
	struct node *next;
}node,*LinkList;

void CreateLink(LinkList &L, int n)
{
	LinkList p,s;  
	int i;  

	L = (LinkList)malloc(sizeof(node));  //头结点
	L->next = NULL;  

	p = L;  
	for (i = 0; i < n; i++)    //尾插法建链表
	{  
		s = (LinkList)malloc(sizeof(node));  
		cout<<"input the factor and indice:";
		cin>>s->factor>>s->indice;  
		s->next = NULL;  
		p->next = s;  
		p = s;  
	}  
}

void Sort(LinkList &L)                           //按indice域递减排序
{
	LinkList p=L->next,q,r;
	if(p!=NULL)                                       //若原单链表中有一个或多个数据结点
	{
		r = p->next;                                    //r保存*p结点的后继结点的指针
		p->next = NULL;                                 //构造只含一个数据结点的有序表
		p = r;
		while(p != NU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值