设计将带表头的链表逆置的算法。

admin2018-10-11  12

问题 设计将带表头的链表逆置的算法。

选项

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

解析
转载请注明原文地址:https://kaotiyun.com/show/TKal777K
0

最新回复(0)