单链表逆置的三种方法
一、将单链表指针的指向顺序逐个反转
p = head->next;
pre = NULL;
while(p != NULL)
{
q = p->next;
p->next = pre;
pre = p;
p = q;
}
first->next = pre;
二、利用头插法
p = head->next;
head->next = NULL;
while(p != NULL)
{
q = p->next;
p->next = head->next;
head->next = p;
p = q;
}
三、利用现有函数
二中利用头插可以将链表反转,尾插链表顺序不变,在一个完整的程序中,必然有相应的函数实现 插入功能,那么可以利用相应函数实现方法二。