带头结点代码,单链表逆置,辅助空间为O(1) -005

带头结点代码,单链表逆置,辅助空间为O(1)

总结

将头结点和之后结点断开,头插法插入。断开后,无头结点的链表,需要p,r两个指针(p为工作指针,r=p->next防止断链

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

LinkList Reverse_l(LinkList &L){
LNode *p,*r; //p为工作指针,r作为后继指针防止断链
p=L->next;
L->next=NULL;
while(p!=NULL){
r=p->next;
p->next=L->next;
L->next=p;
p=r;
}
return L;
}


评论