数据结构多项式加法

typedef struct
{
	int Matrix;  //系数
	int Order;   //阶
}Item; //多项式的项

typedef struct
{
	Item item[MAXSIZE];
	int length; //多项式长度
}Polynomial;

Polynomial Add(Polynomial AH, Polynomial BH) //普通的合并
{
	Polynomial CH;
	initPolynomial(CH);
	int i = 0, j = 0, k = 0;
	while (i < AH.length && j < BH.length)
	{
		if (AH.item[i].Order == BH.item[j].Order)
		{
			CH.item[k].Order = AH.item[i].Order;
			CH.item[k].Matrix = AH.item[i].Matrix + BH.item[j].Matrix;
			CH.length++;
			i++; j++; k++;
		}
		else if (AH.item[i].Order > BH.item[j].Order)
		{
			CH.item[k] = AH.item[i];
			CH.length++;
			i++; k++;
		}
		else
		{
			CH.item[k] = BH.item[j];
			CH.length++;
			j++; k++;
		}
	}
	for (i; i < AH.length; i++)
	{
		CH.item[k] = AH.item[i];
		CH.length++;
	}
	for (j; j < BH.length; j++)
	{
		CH.item[k] = BH.item[j];
		CH.length++;
	}
	return CH;
}
发布了16 篇原创文章 · 获赞 25 · 访问量 1143

猜你喜欢

转载自blog.csdn.net/weixin_41546300/article/details/103062898
今日推荐