#include <iostream>
using namespace std;
class PloyNode{
friend class PloyLinkList;
private:
float coef;//系数
int exp;//指数
struct PloyNode* _next;
public:
PloyNode(float a=0, int x=0, PloyNode* p=NULL):coef(a),exp(x),_next(p){}
~PloyNode(){};
};
class PloyLinkList{
private:
PloyNode *_head;
public:
PloyLinkList();
~PloyLinkList();
void ShowPloy();
void CreatPloynomial1(int n);//假设多项式按指数升序输入,则采用尾插法
void CreatPloynomial2(int n);//假设多项式按指数降序输入,则采用头插法
void CreatPloynomial3(int n);//无序插入
PloyLinkList& AddPloy(PloyLinkList Ploy2);//类似单链表的合并
PloyLinkList& MultPloy(PloyLinkList Ploy2);
};
PloyLinkList::PloyLinkList(){
_head = new PloyNode;
}
PloyLinkList::~PloyLinkList(){
}
//假设多项式按指数升序输入,则采用尾插法
void PloyLinkList::CreatPloynomial1(int n){
PloyNode*_tail=_head;
int i;
for(i=1; i<=n; i++){
_tail->_next=new PloyNode;
_tail=_tail->_next;
cout<<"请输入第"<<i<<"项的系数: ";
cin>>_tail->coef;
cout<<"请输入第"<<i<<"项的指数: ";
cin>>_tail->exp;
}
}
//假设多项式按指数降序输入,则采用头插法
void PloyLinkList::C