单链表的倒置
问题描述: 有一个线性表(a1,a2,a3…an),采用带头结点的单链表L存储,设计一个辅助空间为O(1)的算法将其倒置。
解题思路:采用头插法进行倒置。用p指针扫描原单链表,先将头结点L的next域置为NULL而变成一个空链表,然后将*p结点采用头插法插入到L中。
Void Reverse(LinkList L)
{
LinkList *p = L->next,*q;
L->next = NULL;
while(p!=NULL)
{
q = p->next;
p->next = L->next;
L->next = p;
p = q;
}
}