对链表翻转/逆置的一些理解

// 写在前面,首先是要区分节点和指向节点的指针,链表在内存中是以节点的形式存在的,节点指针只是为了方// 便写程序的时候操作,而认为创造出来的。
node* rev(node *head) 
{
node *prev=NULL,*next=NULL; 
while(head)
{
next=head->next; // 将next指针指向头结点的下一个节点
head->next=prev; // 将头结点原来指向下一个节点的线断开,使得新的指向的下一个节点变为prev指针所代表的节点
prev=head; // 将prev指针指向头结点
head=next; // 将head指针指向next指针保存的节点
} 
return prev;
}

猜你喜欢

转载自blog.csdn.net/jigetage/article/details/88692537
今日推荐