ITPub博客

首页 > IT职业 > IT生活 > 【数据结构】单链表逆置:头插法图解

【数据结构】单链表逆置:头插法图解

IT生活 作者:eagleajy 时间:2021-09-09 10:36:45 0 删除 编辑

利用头插法能重新建立带头节点的新链表

下面简单介绍一下,算法思想结合图示看

算法思想:逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头(即“头插”到逆置链表中),使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。

LNode *Inverse(LNode *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;
	}	return L;
}

接下来,进行图解:

刚开始是这样

图片描述’循环前的操作

图片描述

进入循环,分别用q和p记录第一个和第二个节点

图片描述

图片描述


 

 进入第二轮循环,这是发生重大变化的关键时期

图片描述

图片描述

图片描述

 这张图调整一下

图片描述

 直到链表为空



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2718/viewspace-2824170/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Spark外部数据源
请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    74
  • 访问量
    648