读书人

循环单链表的就地逆置操作解决方法

发布时间: 2012-04-22 18:34:46 作者: rapoo

循环单链表的就地逆置操作
循环单链表的就地逆置,使用rear(尾指针)指针操作

[解决办法]
void ListInverse_L(LinkList &L){
//单链表的就地逆置
LNode *p,*q;
p=L->next;
while(p->next!=NULL)
{
q=p->next;
p->next=q->next;
q->next=L->next;
L->next=q;
}
}
[解决办法]
必须用尾指针?如果可以不用,试试上边那个吧
[解决办法]

C/C++ code
struct link{link *next;};Order(link *L,link *rear){  link *p;  for(p=L,rear->next=NULL;rear->next!=L;rear=rear->next){  while(p->next != rear) p = p->next;  rear->next = p;}}link *A,*B;A=...B=A;while(B->next!=A)B=B->next;Order(A,B); 

读书人网 >C++

热点推荐