⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 基于c++的数据结构源代码。是学习数据结构的很好的demo
💻 CPP
字号:
#include<iostream.h>
#include"LinkList.h"
int A=0;
void remove(Polynomial pb[],int i,int j)//数组长i,删除第j个元素
{
	for(int k=j-1;k<i;k++)
		pb[k]=pb[k+1];
}
void AddPolyn(Polynomial pa[],Polynomial pb[],Polynomial pc[],int m,int n)//pc=pa+pb
{ 
	
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(pa[i].expn==pb[j].expn)
			{
				pa[i].coef=pa[i].coef+pb[j].coef;
				remove(pb,n,j);
				A++;
			}
		}
	}	
	for(int k=0;k<m;k++)
		pc[k]=pa[k];
	for(int l=m;l<(m+n-A);l++)
		for(int p=0;p<n-A;p++)
			pc[m]=pb[p];
}
void Substract(Polynomial pa[],Polynomial pb[],Polynomial pc[],int m,int n)//pc=pa-pb
{ 	
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(pa[i].expn==pb[j].expn)
			{
				pa[i].coef=pa[i].coef-pb[j].coef;
				remove(pb,n,j);
				A++;
			}
		}
	}	
	for(int k=0;k<m;k++)
		pc[k]=pa[k];
	for(int l=m;l<(m+n-A);l++)
		for(int p=0;p<n-A;p++)
			pc[m]=pb[p];
}
void PolynomialOrder(Polynomial pc[],int i)// 对长度为i的数组冒泡排序
{
	int j;
	Polynomial temp;
	for(int pass=1;pass<i;pass++)
	{
		for(j=0;j<i-pass;j++)
			if(pc[j].expn>pc[j+1].expn)
			{
				temp=pc[j];
				pc[j]=pc[j+1];
				pc[j+1]=temp;
			}
	}
}
void differential(Polynomial pc[],int i)//对长度为i的数组求导
{
	for(int j=0;j<i;j++)
	{
		pc[j].coef*=pc[j].expn;
		pc[j].expn=pc[j].expn-1;
	}
}
void main()
{   
	int a,b;	
	cout<<"please input the size of qa"<<endl;
	cin>>a;	
	cout<<"please input the size of qb"<<endl;
	cin>>b;
	Polynomial *qa=new Polynomial[a];
	Polynomial *qb=new Polynomial[b];
	Polynomial *qc=new Polynomial[a+b];
	for(int i=0;i<a;i++)
	{
		qa[i].CreatePolynomial();
	}
	for(int j=0;j<b;j++)
	{
		qb[j].CreatePolynomial();
	}
	differential(qa,a);
	for(int f=0;f<a;f++)
		qa[f].Print();
	AddPolyn(qa,qb,qc,a,b);//多项式相加
	//Substract(qa,qb,qc,a,b);//多项式相减
	PolynomialOrder(qc,a+b-A);
	for(int k=0;k<a+b-A;k++)
		qc[k].Print();
	delete []qa;
//	delete	qb;
	delete []qc;
}



	




	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -