试写一算法对单链表实现就地逆置?

voidInverse(LinkList&L){LNode*p,*q;p=L->next;L->next=NULL;while(p!=NULL){q=p;p=p->nex... void Inverse(LinkList &L)
{
LNode *p, *q;
p = L->next;
L->next = NULL;
while (p != NULL)
{
q = p;
p = p->next;
q->next = L->next;
L->next = q;
}
}

请讲一下这个吧..就每一步什么意思...谢谢了!
展开
 我来答
品观人生
推荐于2019-10-11 · TA获得超过5903个赞
知道小有建树答主
回答量:40
采纳率:0%
帮助的人:6921
展开全部
void Inverse(LinkList &L)
{
 LNode *p, *q;
p = L->next;             /*记录第一个结点地址*/
L->next = NULL;      /*把链表设置成空表*/
while (p != NULL)    /*依次按头插法将各结点插入,就实现了逆置*/
{
q = p;                              /*用q记录待插入结点地址*/
p = p->next;                    /*用p记录待插入结点的后继结点地址*/*/
q->next = L->next;          /*将q(待插入结点)插入到头结点的前面*/
L->next = q;                    /*将新插入结点作为新的头*/
}

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式