YРNРqa=qa->nextР返回hfР结束Р②算法描述Р(1)多项式的创建РPolyn CreatePolyn(Polyn head,int m) Р{//建立一个头指针为head、项数为m的一元多项式Р //在主程序初始时,先输入的多项式中的项数m、n 在这里为m。主程序中的pa、pb在此为headР?int i;//用来计数Р Polyn p;//定义一个p链表Р p=head=(Polyn)malloc(sizeof(struct Polynomial));//动态分配空间,建立头结点Р head->next=NULL;Р for(i=0;i<m;i++)Р?{Р p=(Polyn)malloc(sizeof(struct Polynomial));//建立新结点以接收数据Р printf("请输入第%d项的系数与指数:",i+1); //上面循环中i从0开始,所以此处为i+1Р scanf("%f %d",&p->coef,&p->expn);Р Insert(p,head); //调用Insert函数插入结点pР?}Р return head;Р}Р(2)多项式的销毁Р利用循环逐渐销毁多项式Рvoid DestroyPolyn(Polyn p) //销毁多项式pР{ Polyn q1,q2;Р q1=p->next;Р q2=q1->next;Р while(q1->next)//利用循环逐渐销毁多项式PР?{Рfree(q1);Р q1=q2;//指针后移Р q2=q2->next;Р?}Р?free(q1);Р}Р(3)多项式的输出Рvoid PrintPolyn(Polyn P) Р{ //输出多项式Р?Polyn q=P->next; Р int flag=1;//项数计数器Р if(!q)Р?{ //若多项式为空,输出0Р putchar('0');