using namespace std; struct elem { int coef; int exp; }; template..." />
电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

一元多项式求和代码

一元多项式求和代码_第1页
1/6
一元多项式求和代码_第2页
2/6
一元多项式求和代码_第3页
3/6
//#include "linklist.h"的定义 #include using namespace std; struct elem { int coef; int exp; }; template class linklist; template class node { friend class linklist; template friend ostream & operator<<(ostream & os,linklist & ll); template friend void addd(linklist * A,linklist *B); T date; node *next; }; template class linklist { template friend ostream & operator<<(ostream & os,linklist & ll); template friend void addd(linklist * A,linklist * B); private: node *first; public: linklist(); linklist(T a[],int n);//形成一元多项式链表 ~linklist(); }; template ostream & operator<<(ostream & os,linklist & kk) { node *p; p=kk.first->next; while(p) { os<date.coef<<"X"<<"("<date.exp<<")"<<" "; p=p->next; } os< void addd(linklist * A,linklist * B) { node *p,*q,*pre,*qre,*v; pre=A->first; p=pre->next; //工作指针p初始化,指针pre始终指向p的前驱结点 qre=B->first; q=qre->next; //工作指针q初始化,指针qre始终指向q的前驱结点 while(p && q) { if (p->date.expdate.exp) { //第 1种情况 pre=p; p=p->next; } else if (p->date.exp>q->date.exp) { //第 2种情况,将结点q插入到结点p之前,q指针后移 v=q->next; q->next=p; pre->next=q; qre->next=v; q=v; } else { //第 3种情况 p->date.coef =p->date.coef+q->date.coef; //系数相加 if (p->date.coef ==0) { //系数为0,删除结点p和结点q pre->next=p->next; //删除结点p delete p; p=pre->next; } else { //系数不为0,只删除结点q pre=p; p=p->next; } qre->next=q->next; //删除结点q delete q; q=qre->next; } } if(q) pre->next=q; //将结点q链接在第一个单链表的后面 B->first->next=NULL; } template linklist::linklist() { first=new node; first->next=NULL; } template linklist::~linklist() { node *p=first,*q; while(p) { q=p; p=p->next; delete q; } } //以下是尾接法 template linklist::linklist(T a[],int n) { node *r; node *p; first=new node; first->next=NULL; r=first; for(int i=0;i; p->date=a[i]; r->next=p; r=p;} r->next=NULL; } */ //主函数 //主测试函数 #include using namespace std; #include "linklist.h" void main() { elem a[4],b[5]; linklist *P,*Q; cout<<"输入第一个多项式的系数、指数"<>a[i].coef>>a[i].exp; linklist l1(a,4); cout<<"输出第一个多项式为f(X):"<>b[i].coef>>b[i].exp; linklist l2(b,5); cout<<"输出第二个多项式为g(X):"<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

一元多项式求和代码

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群