设计将带表头的链表逆置的算法。
参考答案:
设单循环链表的头指针为head,类型为LinkList。逆置时需将每一个结点的指针域进行修改,使其原前趋结点成为后继。如要更改q结点的指针域时,设S指向其原前趋结点,P指向其原后继结点,则只需进行q->next=s操作即可,算法描述如下: void invert(LinkList * head) {//逆置head指针所指向的单循环链表 linklist *p, *q, *s; q = head p = head->next ; while (p! =head) //当表不为空时, 逐个结点逆置 {s=q; q=p; p = p->next ; g->next=s; } p->next = q ; }。