阅读下列程序说明和C++代码,将应填入(n)处。【程序6说明】本程序实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数有:createList():创建按指数降序链接的多项式链表,以表示多项式。reverseList():将多项式链表的表元链接顺序颠倒。multiplyList(List L1,List L2):计算多项式L1和多项式L2的乘积多项式。【程序6】include<iostream.h>class List;class |tem{friend class List;private:double quot;int exp;|tem * next;public:|tem(double_quot,int_exp){ (1) ;}};class List {private:|tem * list;public:List(){list=NULL;}void reverseList();void multiplyList(List L1,List L2);void createList();};void List::createList(){ |tem * p,* u,*pre;int exp;doubte quot;list=NULL;while(1){cout<<"输入多项式中的一项(系数、指数):"<<endl;cin>>quot>>exp:if(exp<0)break; //指数小于零,结束输入if(quot==0)continue;p=list;while((2)){ //查找插入点pre=p;p=p->next;}if(p!=NULLexp==p->exp) {p->quot+=quot;continue;}u=(3);if(p==list) list=u;else pre->next=u;u->next=p;}}void List::reverseList(){ |tem*p,*u;if(list==NULL)return;p=list->next;list->next=NULL;while(p!=NULL)}u=p->next;p->next=list;list=p;p=u;}}void List::multiplyList(List L1,List L2){|tem*pLI,*pL2,*u;int k,maxExp;double quot;maxExp=(4);L2.reverseList();list=NULL;for(k=maxExp;k>=0;k--){pL1=L1.list;while(pL1!=NULLpL1->exp>k)pL1=pL1->next;pL2=L2.list;while(pL2!=NULL(5) pL2=pL2->next;quot=0.0;while(pL1!=NULLpL2!=NULL){if(pL1->exp+pL2->exp==k){(6);pL1=pL1->next;pL2=pL2->next;}else if(pL1->exp+pL2->exp>k) pL1=pL1->next;else pL2=pL2->next;}if(quot!=0.0){u=new |tem(quot,k);u->next=list;list=u;}}reverseList(:);L2.reverseList():}void main(){ ListL1,L2,L;cout<<"创建第一个多项式链表\n";L1.createList();cout<<"创建第二个多项式链表\n";L2.createList();L.multiplyList(L1,L2);}
阅读下列程序说明和C++代码,将应填入(n)处。
【程序6说明】
本程序实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数有:
createList():创建按指数降序链接的多项式链表,以表示多项式。
reverseList():将多项式链表的表元链接顺序颠倒。
multiplyList(List L1,List L2):计算多项式L1和多项式L2的乘积多项式。
【程序6】
include<iostream.h>
class List;
class |tem{
friend class List;
private:
double quot;
int exp;
|tem * next;
public:
|tem(double_quot,int_exp)
{ (1) ;}
};
class List {
private:
|tem * list;
public:
List(){list=NULL;}
void reverseList();
void multiplyList(List L1,List L2);
void createList();
};
void List::createList()
{ |tem * p,* u,*pre;
int exp;
doubte quot;
list=NULL;
while(1){
cout<<"输入多项式中的一项(系数、指数):"<<endl;
cin>>quot>>exp:
if(exp<0)break; //指数小于零,结束输入
if(quot==0)continue;
p=list;
while((2)){ //查找插入点
pre=p;p=p->next;}
if(p!=NULL&&exp==p->exp) {p->quot+=quot;continue;}
u=(3);
if(p==list) list=u;
else pre->next=u;
u->next=p;}
}
void List::reverseList()
{ |tem*p,*u;
if(list==NULL)return;
p=list->next;list->next=NULL;
while(p!=NULL)}
u=p->next;p->next=list;
list=p;p=u;}
}
void List::multiplyList(List L1,List L2)
{|tem*pLI,*pL2,*u;
int k,maxExp;
double quot;
maxExp=(4);
L2.reverseList();list=NULL;
for(k=maxExp;k>=0;k--){
pL1=L1.list;
while(pL1!=NULL&&pL1->exp>k)pL1=pL1->next;
pL2=L2.list;
while(pL2!=NULL&&(5) pL2=pL2->next;
quot=0.0;
while(pL1!=NULL&&pL2!=NULL){
if(pL1->exp+pL2->exp==k){
(6);
pL1=pL1->next;pL2=pL2->next;
}else if(pL1->exp+pL2->exp>k) pL1=pL1->next;
else pL2=pL2->next;
}
if(quot!=0.0){
u=new |tem(quot,k);
u->next=list;list=u;}
}
reverseList(:);L2.reverseList():
}
void main()
{ ListL1,L2,L;
cout<<"创建第一个多项式链表\n";L1.createList();
cout<<"创建第二个多项式链表\n";L2.createList();
L.multiplyList(L1,L2);
}