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

📄 polynomial.cpp

📁 主要些了几个最基本的并且是最经典的数据结构算法
💻 CPP
字号:
#include"Polynomial.h"
#include<iostream.h>

Polynomial::Polynomial(int n)
{
	MaxTerms=n;
    start=0;
	finish=0;
	free=0;
	termArray[0].exp=0;
	termArray[0].coaf =0;
}

int Polynomial::operator!()
 {
	if(start==finish&&termArray[start].coaf==0)
		return 0;
	else 
		return 1;
 }

float Polynomial::Coaf (int e)
 {
	for(int i=0;i<finish;i++)
	{
		if(termArray[i].exp==e)
			return termArray[i].coaf;
	}
	cout<<"Exp e haven't coaf."<<endl;
	return -1;
 }

int Polynomial::LeadExp()
{
	return termArray[finish-1].exp;
}

void Polynomial::NewTerm(float c,int e)
{
	if(finish<MaxTerms)
	{
		for(int i=start ;i<=finish ;i++)
		{
			if(termArray[i].exp>e)
			{
				finish++;
				for(int j=finish;j>i;j--)
				{
					termArray[j].exp=termArray[j-1].exp;
					termArray[j].coaf=termArray[j-1].coaf;
				}
				free++;
				termArray[j].exp=e;
				termArray[j].coaf=c;
				return ;
			}
			if(termArray[i].exp==e||termArray[i].exp==0&&termArray[i].coaf==0)
			{
				termArray[i].coaf+=c;
				termArray[i].exp=e;
				return ;
			}
		}
        finish++;
		termArray[finish].exp=e;
		termArray[finish].coaf=c;
	}
	else
		cout<<"Out of Range"<<endl;
}

Polynomial Polynomial::Add(Polynomial poly)
{
	for(int i=poly.start;i<=poly.finish;i++)
		NewTerm(poly.termArray[i].coaf,poly.termArray[i].exp);
	return *this;
}

		
float Polynomial::Eval(float x)
{
	float n,m;
	m=0;
	for(int i=start;i<=finish;i++)
	{
		n=termArray[i].coaf;
		for(int j=termArray[i].exp;j>0;j--)
			n*=x;
		m+=n;
	}
	return m;
}

⌨️ 快捷键说明

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