【正确答案】正确答案: 算法的基本设计思想:将第一个结点摘下,并将其指针域置空作为尾结点。然后从第二个结点开始,直到最后一个结点为止,依次前插入到新链表的前面,则实现了链表的逆置。算法的代码: LinkList invert(LinkLiSt L){ p:L一>nextj //p为工作指针。本文中所有未定义指针都假设为全局定义 L->next=NULL; //第一个结点成为尾结点 while(P!=NULL) { r=P一>next; p一>next=L; //将P结点插到L结点前面。 L=pj //L指向新的链表“第一”元素结点。 p=r; } return L; }//invert
【答案解析】