单链表的倒置

来源:互联网 发布:证券期货软件开发许可 编辑:程序博客网 时间:2024/06/05 21:16

单链表的倒置

问题描述: 有一个线性表(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;    }}