一个链表就地倒转的函数。
链表倒转函数.
code * inverse(code * head) // 逆向输出
... {
code* p1;
code* p2;
if(head && head->next) //超过2个结点
...{
p1=head;
p2=head->next;
}
else
exit(1);
while(p2!=NULL) //head 记录头结点,p1记录将处理的前一个结点,p2记录处理的结点
...{
p1->next=p2->next;
p2->next=head;
head=p2;
p2=p1->next;
}
return head;
}
code * inverse(code * head) // 逆向输出
... {
code* p1;
code* p2;
if(head && head->next) //超过2个结点
...{
p1=head;
p2=head->next;
}
else
exit(1);
while(p2!=NULL) //head 记录头结点,p1记录将处理的前一个结点,p2记录处理的结点
...{
p1->next=p2->next;
p2->next=head;
head=p2;
p2=p1->next;
}
return head;
}