问答题 一元稀疏多项式以循环单链表按降幂排列,结点有三个域,系数域coef,指数域exp和指针域next。现对链表求一阶导数,链表的头指针为ha,头结点的exp域为一1。【南京理工大学2000年】
【正确答案】正确答案:算法的基本设计思想:对链表求导数,其实就是遍历线性表并对相应的系数以及指数变化。算法的代码: VOid Derivative(ha){ q=ha; pa=ha一>next; while(pa!=ha) //遍历到链表结束 { if(pa一>exp==0) //若指数为0,即本项为常数项 { q一>next=pa->next ; //删常数项 free(pa), Pa=q; } e1Se { pa一>coef=(pa一>coef)*(pa一>exp); pa->exp-一; //指数项减1 q=pa; } //前驱后移,或q->next pa=pa->next; //取下一元素 } }//Derivative
【答案解析】