//链表逆序
struct headNode *headRever(struct headNode *head)
{
//p指向首节点
struct node *p = head->first;
//pnew指向拆下来的节点
struct node *pnew = NULL;
//拆头节点
head->first = NULL;
head->tail = NULL;
//便利拆下来的节点进行头插
while(p)
{
pnew = p;
p = p->next;
//断开pnew
pnew->next = NULL;
//拆下来的节点进行头插
if(head->first == NULL)
{
head->first = pnew;
head->tail = pnew;
}
else
{
pnew->next = head->first;
head->first = pnew;
}
}
}