单链表的存储结构:

typedef struct LinkList{int data;LinkList * next;}

分析:
要删除所有结点,怎么删除?
往往都要定义前后指针 pre ,p 毕竟一个指针不够用。

思路:
1.定义两个指针pre,p ,其中pre开始指向头结点 (pre = L).
2.通过while循环,首先释放头结点。然后两个指针,同步后移
3. 循环跳出后,pre指向最后一个节点,最后把该节点删除

C代码实现:

void DestrongList(LinkList * L){LinkList * pre = L,* p;p = pre->next;while(p!=null){free(pre);pre = p;p = p->next;} //跳出后,pre指向最后一个节点,最后把该节点删除free(pre);}

单链表-删除并释放以L为表头指针的单链表的所有结点(双指针法)相关推荐

  1. Leetcode题库 19.删除链表的倒数第N个结点(双指针法 C实现)

    文章目录 解析 思路 代码 解析 临时结构体t指向head的前一个结点 p0指针指向被删除结点的前一个结点 p1指针遍历链表 flag表示p0与p1指针的相对距离 思路 使用p1遍历链表,p1移动一次 ...

  2. 单链表删除所有值为x的元素_C/C++编程笔记:如何使用C++实现单链表?单链表的基本定义...

    如何弥补顺序表的不足之处? 第一次学习线性表一定会马上接触到一种叫做顺序表(顺序存储结构),经过上一篇的分析顺序表的优缺点是很显然的,它虽然能够很快的访问读取元素,但是在解决如插入和删除等操作的时候, ...

  3. 链表问题9——复制含有随机指针节点的链表(进阶)

    题目 具体题目信息可以参考上一篇文章. 进阶:不使用额外的数据结构,只用有限几个变量,且在时间复杂度为O(N)内完成原问题要实现的函数. 思路 进阶解法不使用哈希表来保存对应关系,而只采用有限的几个变 ...

  4. 单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)

    单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 首先,我们要删除第一个值为x结点的前驱结点,则该链表要包含两个及以上结 ...

  5. 单链表删除节点(p->next)与p的区别

    在插入链表的时候,while§而在删除链表的时候while(p->next)?这是为什么呢?因为删除算法中的循环条件(p->next && j<i-1)和插入算法中的 ...

  6. 单链表-判断单链表L是否是递增的(双指针法)

    单链表的存储结构: typedef struct LinkList{ int data; LinkList * next; } 分析: 定义一个指针p够不够用? 你要判断是否递增,说明要比较前后两节点 ...

  7. C语言 链表的创建--打印--逆置--新增--删除--排序--释放

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  8. 单链表删除、修改和查找

    相声讲究说学逗唱链表讲究增删改查 上一篇blog里演示了单链表的增加节点的操作,下面演示单链表的删除.修改和查找的操作. 修改操作: 思路: 遍历找到待修改节点 这里编号no不改变,把称号和姓名重新赋 ...

  9. 单链表删除所有值为x的元素_线性表之单链表

    单链表 一种以链接方式存储的线性表,适用于频繁增删操作,存储空间不定的情形. 单链表的一个存储结点包含两个域,数据域和指针域.数据域用于存储线性表的一个数据元素,指针域用于指示下一个结点开始的存储地址 ...

最新文章

  1. 卡成PPT不开心?GAN也能生成流畅的连续表情了 |ECCV Oral · 代码
  2. 远观近看阿里云ET平台 如何开启AI落地新风潮
  3. http2-stream-optima-prioritation
  4. centos7搭建nexus
  5. 关于SCI的那些事儿
  6. filter(HTML)滤镜用法
  7. 服务器2003 系统修复,第十一篇 Windows Server 2003系统修复.pdf
  8. 我国博士不是太多了,而是太少了!
  9. opencv copyto给图片加logo
  10. SQL优化--使用关联查询代替子查询
  11. 关于不执行整个大项目而是执行其中一部分独立文件夹的时候的python运行方法...
  12. 思维转换感悟与区块链视频资料分享
  13. 记录|斐讯K2拆机使用ttl刷入breed并刷入新固件
  14. Windows服务器基本安全策略配置
  15. 4. stm32启动代码分析(一)
  16. 【网页设计】31:文本声明
  17. 动态html函数的写法,如何将html div id的动态传递给js函数
  18. latex数学公式编写(一):latex矩阵编写
  19. 浙大PAT 1021. Deepest Root (25)
  20. php360随机壁纸图片接口,PHP超简单的随机图片头像API接口网站搭建教程

热门文章

  1. Flutter框架分析(五)-- 动画
  2. 提效率享效益,看华天CAPP如何优化天润曲轴工艺管理
  3. Day43 前端基础--html
  4. 减少HQL 的MAP数
  5. 访问其他应用程序的Activity
  6. 电子商务网站比较常用的缓存策略架构
  7. discuz x3插件开发傻瓜图文教程,用demo说话
  8. Microsoft Hyper-V Server 2012开启虚拟化-虚拟机管理
  9. MySQL基础篇:设置大小写不敏感
  10. 零代码 OR 低代码