在c语言中,为了节省空间和时间,我们可以采取在原空间上实现链表的逆置
每次读取一个节点时,将他用头插法的方法加入到链表中,最后得到的即是逆置后的链表了
关键掌握头插法的思路:
q->next=l->next;
l->next=q;
下面是具体方法实现以及说明:
void PrintLinklist_back(linklist l)
{linklist pre = l->next; //用来遍历的节点
linklist q; //定义一个空闲节点
l->next = NULL; //头节点指向空
//就地逆置
while (pre!=NULL) //遍历
{
q = pre;
pre = pre->next;
q->next = l->next;
l->next = q;
}
}