读算法,并在空缺处填入合适的语句。 void addpolyn(Slink &Ha,Slink&Hb) { //用带结点的单链表存储多项式,Ha和Hb分别是两个多项式链表的指针 //多项式加法算法:将多项式Hb加到Ha上,表为Ha=Ha+Hb,利用两个多项式的结点构成“和多项式” pa=Ha;pb=Hb; qa-pa->next;qb=pb->next; //qa和qb分别指向Ha和Hb的当前结点,pa和pb分别指向Ha和Hb当前结点的前一个结点 while((qa!=NULL)&&(qb!=NULL)) { a=qa=>data;b=qb->data; switch(cmp(a,b)){ case-1: //多项式Ha中当前结点的指数值小 pa=qa;qa=qa->next;break; case 0: //两者的指数值相等 sum=a.coef+b.coef; if(sum!=0.0){qa->data=sum;pa=qa;) else{pa->next=qa->next;free(qa);) (1) pb->next=qb->next;free(qb);qb=qb->next; break; case 1: //多项式Hb中当前结点的指数值小 pb->next=qb->next; (2) (3) (4) break; }//switch }//while if(qb!=null)(5) free(pb); //释放Hb的头结点 } //addpolyn算法结束