亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cpolynomial.h

?? 多項式的運算,有符號重載方法實現(xiàn) visual stdio2005編譯通過
?? H
字號:
#include<iostream>
#include<vector>
#include<list>
#include<string>
#include<cmath>
using namespace std;

/*************************class CNode declaration*************************/ 
class CNode{ 
	/*把CNode的內(nèi)容輸出到os*/
	friend ostream & operator << (ostream &os, const CNode& );
	/*CPolynomial的排序標(biāo)準(zhǔn)*/
	friend bool expnComp(const CNode & A,const CNode & B);
public: 
	/*缺省構(gòu)造函數(shù)*/
	CNode(){_coef = 0.0; _expn = 0;}; 
	CNode(double c, int e): _coef(c), _expn(e){ }; 
	~CNode(){}; 

	int expn() const {return _expn;}; 
	double coef() const {return _coef;}; 
private: 
	double _coef;	//多項式item的系數(shù)域 
	int _expn;	//多項式item的指數(shù)域 
}; 

ostream & operator << (ostream & os,const CNode & cp){
	if(cp._coef!=0 && cp._expn!=1)
		os<<cp._coef<<"x^"<<cp._expn;
	else if(cp._coef!=0 && cp._expn==1)
		os<<cp._coef<<"x";

	return os;
}

bool expnComp(const CNode & A,const CNode & B){
	if(A.expn()>B.expn())	return true;
	else return false;
}

/*************************class CPolynomial declaration*************************/ 
class CPolynomial { 
	/*2個多項式的+法*/ 
	friend CPolynomial operator+( const CPolynomial& A, const CPolynomial& B ); 
	/*按照項的指數(shù)遞減順序輸出一元稀疏多項式到os*/ 
	friend ostream& operator <<( ostream& os , const CPolynomial& ); 
public: 
	/*多項式對象的缺省構(gòu)造函數(shù)*/ 
	CPolynomial(){}; 
	/*用系數(shù)向量和指數(shù)向量構(gòu)造多項式*/ 
	CPolynomial(const vector<double>& , const vector<int>& ); 
	/*多項式的copy構(gòu)造函數(shù)*/ 
	CPolynomial(const CPolynomial& rpln); 
	/*釋放一元多項式占用的存儲空間*/ 
	~CPolynomial(); 
	/*將值代入多項式,計算多項式的值*/ 
	double operator()(double x) const; 
	/*多項式的賦值操作*/ 
	CPolynomial& operator=(const CPolynomial& rpln); 
	void print(); 
private: 
	list<CNode> _polyList; 
};
int find_pos(const vector<int>& expn_vec, int val);
//用系數(shù)向量和指數(shù)向量構(gòu)造多項式 
CPolynomial::CPolynomial(const vector<double>& coef, const vector<int>& expn){
	for(unsigned int i=0;i<expn.size();i++){
		double dval=coef[i];
		int val=expn[i]; 
		unsigned int temp=expn.size();
		for(unsigned int n=0;n<expn.size();n++){
			if(n=temp)  continue;
			int pos=find_pos(expn,val);
			if(pos!=i && pos!=expn.size()){
				dval=dval+coef[pos];
				temp=pos;
			}
		}
		CNode tempnode(coef[i],expn[i]);

		//將新生成的節(jié)點從鏈表頭部插入
		this->_polyList.push_back(tempnode);
		
		//將生成的一元多項式鏈表按指數(shù)進(jìn)行排序
		this->_polyList.sort(expnComp);
	}
}

int find_pos(const vector<int>& expn_vec, int val){
	int pos=expn_vec.size();
	for(unsigned int i=0;i<expn_vec.size();++i){
		if(expn_vec[i]==val){
			pos=i;
			return pos;
		}
	}
	return pos;
}


//釋放一元多項式占用的存儲空間
CPolynomial::~CPolynomial(){}; 

//多項式的copy構(gòu)造函數(shù)
CPolynomial::CPolynomial(const CPolynomial & rpln){
	//定義遍歷鏈表迭代子
	list<CNode>::const_iterator iter_r=rpln._polyList.begin();
	list<CNode>::const_iterator iter_re=rpln._polyList.end();

	//使用List賦值函數(shù)assign(begin(),end())對鏈表進(jìn)行拷貝
	this->_polyList.assign(iter_r, iter_re);
}

//將值代入多項式,計算多項式的值
double CPolynomial::operator ()(double x) const{
	double result=0;
	//定義遍歷鏈表迭代子
	list<CNode>::const_iterator iter=_polyList.begin();

	while(iter!=_polyList.end()){
		result+=iter->coef() * pow(x, iter->expn());
		iter++;
	}

	return result;
}

//多項式的賦值操作
CPolynomial& CPolynomial:: operator = (const CPolynomial &  rpln){
	//定義遍歷鏈表迭代子
	list<CNode>::const_iterator iter_r = rpln._polyList.begin();
	list<CNode>::const_iterator iter_re = rpln._polyList.end();

	while(iter_r!=iter_re){
		CNode tempnode(iter_r->coef(), iter_r->expn());

		(*this)._polyList.push_back(tempnode);
		iter_r++;
	}

	return (*this);
}

//重載多項式加法操作符
CPolynomial operator+( const CPolynomial& A, const CPolynomial& B ){
	double coef;
	int expn;
	CPolynomial CPSum;

	//定義遍歷鏈表迭代子
	list<CNode>::const_iterator iter_A=A._polyList.begin();
	list<CNode>::const_iterator iter_Ae=A._polyList.end();
	list<CNode>::const_iterator iter_B=B._polyList.begin();
	list<CNode>::const_iterator iter_Be=B._polyList.end();
	
	while((iter_A!=iter_Ae) && (iter_B!=iter_Be)){
		if(iter_A->expn() > iter_B->expn()){
			coef=iter_A->coef();
			expn=iter_A->expn();
			CNode newnode(coef,expn);

			CPSum._polyList.push_back(newnode);
			iter_A++;
		}
		else if(iter_A->expn() < iter_B->expn()){
			coef=iter_B->coef();
			expn=iter_B->expn();
			CNode newnode(coef,expn);

			CPSum._polyList.push_back(newnode);
			iter_B++;
		}
		else{
			coef=iter_A->coef()+iter_B->coef();
			expn=iter_A->expn();
			CNode newnode(coef,expn);

			CPSum._polyList.push_back(newnode);
			iter_A++;	iter_B++;
		}
	}

		//A鏈表還有剩余節(jié)點,直接接到結(jié)果鏈表后面
		while(iter_A!=iter_Ae){
			coef=iter_A->coef();
			expn=iter_A->expn();
			CNode newnode(coef,expn);

			CPSum._polyList.push_back(newnode);
			iter_A++;
		}
		//B鏈表還有剩余節(jié)點,直接接到結(jié)果鏈表后面
		while(iter_B!=iter_Be){
			coef=iter_B->coef();
			expn=iter_B->expn();
			CNode newnode(coef,expn);

			CPSum._polyList.push_back(newnode);
			iter_B++;
		}

	return CPSum;
}

ostream& operator <<( ostream& os , const CPolynomial& P){
	if(P._polyList.empty())
		cout<<"多項式不存在!";
	else{
		//定義遍歷鏈表迭代子
		list<CNode>::const_iterator iter_P=P._polyList.begin();
		list<CNode>::const_iterator iter_Pe=P._polyList.end();

		for(unsigned int i=0;i<P._polyList.size();i++){
			os<<(*iter_P);	//由于CNode中已重載了“<<”輸出多項式的項
											//此處無需再重復(fù)構(gòu)建
			++iter_P;		//指向下一項
			if(i!=(P._polyList.size()-1) &&  iter_P->coef()>=0)	os<<"+";	
																				//如果此項不是最后一項
																				//判斷并輸出符號
		}
		os<<endl;
	}

	return os;
}

	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合精品自拍| 欧美视频你懂的| 国产在线一区观看| 精品一区二区三区蜜桃| 精品伊人久久久久7777人| 精品一区中文字幕| 国产精品99久| 成人av影视在线观看| fc2成人免费人成在线观看播放| 成人精品一区二区三区四区| 成人一级片网址| 91丨九色丨蝌蚪丨老版| 欧美午夜精品一区二区蜜桃| 欧美日韩高清一区二区| 日韩午夜在线播放| 国产午夜亚洲精品不卡| 国产精品美女一区二区三区| 专区另类欧美日韩| 一区二区三区国产精华| 日韩黄色小视频| 国产精品一区在线| 97国产一区二区| 欧美日韩二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产欧美视频一区二区| 亚洲欧美日韩人成在线播放| 夜夜嗨av一区二区三区中文字幕| 日韩成人精品在线观看| 国产在线播放一区二区三区| 99免费精品视频| 91精品国产综合久久国产大片 | 亚洲欧洲综合另类在线 | 色久综合一二码| 4438x成人网最大色成网站| 精品噜噜噜噜久久久久久久久试看 | 91精品国产综合久久精品| 精品国产乱码91久久久久久网站| 中文字幕国产一区| 亚洲高清在线精品| 国产乱码精品一区二区三区av| 91香蕉视频黄| 日韩视频在线观看一区二区| 国产女人aaa级久久久级| 亚洲午夜免费电影| 国产福利精品导航| 在线播放中文一区| 国产欧美精品区一区二区三区 | 欧美韩国日本一区| 亚洲风情在线资源站| 国产老肥熟一区二区三区| 欧美在线看片a免费观看| 精品精品国产高清a毛片牛牛 | 免费观看30秒视频久久| gogogo免费视频观看亚洲一| 欧美一区二区三区在线电影| 国产精品全国免费观看高清 | 国产一区二区主播在线| 一本大道久久a久久综合| 欧美成人一区二区三区在线观看| 亚洲人成精品久久久久久| 激情综合色综合久久| 在线观看www91| 国产精品美女久久久久久久久 | 国产精选一区二区三区| 欧美午夜片在线看| 国产精品久久久久久亚洲伦 | 欧美日韩一区不卡| 国产免费成人在线视频| 麻豆91免费观看| 欧美性感一区二区三区| 日本一二三四高清不卡| 狠狠色伊人亚洲综合成人| 欧美日韩精品欧美日韩精品一综合| 国产精品天天看| 国产一区二区三区久久久| 91.麻豆视频| 亚洲综合色噜噜狠狠| 成人aa视频在线观看| 久久久久久久国产精品影院| 日本不卡一区二区| 欧美视频自拍偷拍| 亚洲欧美色一区| 91在线看国产| 亚洲人精品一区| 99久久免费精品| 国产精品护士白丝一区av| 国产一区二区精品久久91| 精品国偷自产国产一区| 欧美aaaaa成人免费观看视频| 欧美日韩在线三级| 亚洲图片欧美色图| 欧美性xxxxxxxx| 亚洲精品免费视频| 欧美在线色视频| 亚洲午夜激情av| 欧美日韩在线观看一区二区| 夜夜嗨av一区二区三区四季av| 色综合久久88色综合天天6 | 成人av电影在线观看| 国产欧美精品一区aⅴ影院| 国产成人精品综合在线观看| 国产亚洲制服色| 国产精品系列在线观看| 国产色91在线| 成人综合激情网| 国产精品久久久久久亚洲伦| 成a人片国产精品| 中文字幕一区二区三区在线播放| 成人黄动漫网站免费app| 中文字幕一区二区在线观看| 91麻豆文化传媒在线观看| 亚洲女性喷水在线观看一区| 日本电影亚洲天堂一区| 夜夜揉揉日日人人青青一国产精品| 欧美私人免费视频| 日韩精品一级二级| 亚洲精品一区二区三区福利| 国产aⅴ综合色| 国产精品国产a| 99久久婷婷国产综合精品电影| 亚洲精品免费看| 欧美一区二区观看视频| 国模少妇一区二区三区| 中文字幕第一区二区| 色菇凉天天综合网| 青青草一区二区三区| 久久美女高清视频| 99国产精品久| 亚洲18影院在线观看| 精品捆绑美女sm三区| 成人免费福利片| 亚洲一区av在线| 精品国产一区二区三区久久久蜜月| 粉嫩高潮美女一区二区三区| 亚洲婷婷综合色高清在线| 欧美揉bbbbb揉bbbbb| 9色porny自拍视频一区二区| 亚洲免费观看在线观看| 欧美一区二区三区四区视频 | 欧美一级夜夜爽| 成人黄页在线观看| 亚洲一本大道在线| 精品va天堂亚洲国产| 成人aa视频在线观看| 日本成人在线电影网| 国产精品久久看| 91精品国产综合久久福利| 成人精品国产福利| 日韩精品福利网| 国产精品亲子伦对白| 91.麻豆视频| 99视频超级精品| 老司机免费视频一区二区| 亚洲人成精品久久久久| 日韩女同互慰一区二区| 成人性生交大合| 免费在线观看成人| 亚洲欧洲日产国产综合网| 欧美一区二区三区精品| 99精品视频免费在线观看| 久久机这里只有精品| 亚洲香蕉伊在人在线观| 久久久国产午夜精品| 884aa四虎影成人精品一区| 成人免费视频caoporn| 青椒成人免费视频| 亚洲一区二区视频在线观看| 国产日韩成人精品| 91精品国产综合久久香蕉的特点| 成人av电影免费在线播放| 久久av中文字幕片| 亚欧色一区w666天堂| 国产精品国产精品国产专区不片| 日韩免费在线观看| 欧美综合天天夜夜久久| 成人黄色大片在线观看| 国产一区不卡在线| 免费日本视频一区| 一区二区三区欧美在线观看| 欧美激情资源网| 久久嫩草精品久久久精品| 4438x亚洲最大成人网| 欧美系列在线观看| 91蜜桃免费观看视频| 成人av高清在线| 国产成人精品一区二| 韩国三级电影一区二区| 美女网站在线免费欧美精品| 丝袜亚洲精品中文字幕一区| 亚洲男帅同性gay1069| 国产精品久久久久久户外露出| 久久久久久久久久久电影| 欧美成人一区二区三区片免费| 欧美精品18+| 欧美老女人第四色| 欧美日韩一级片网站| 欧美三级日韩在线| 欧美日韩一级片在线观看| 欧美三级中文字幕| 欧美亚洲丝袜传媒另类|