单链表销毁的两种方式
单链表销毁的两种方式
在创建和新增申请单链表节点时,需要通过malloc函数手动申请内存空间。如果不对相应内存进行手动释放则会约积累越多,存在内存泄漏风险。
递归销毁
通过递归找到链表最后一个节点,依次释放,执行顺序从后向前
void funtion_Free(struct LNode *Node)
{if(P == NULL) {return;}DelListRecursion(P->next);/* * 1.free不会清理对应内存,需要手动将当前节点的指针域置空,此操作会递归修改整个链表,确保节点之间的联系被切断* 2.由于是递归修改,此处的P实际是上一层调用栈中的入参P->next,不能通过一级指针直接修改指针本身,所以P=NULL无意义*/free(P);P->next = NULL;return;
}执行顺序:
Node=0x55b625c340
Node=0x55b625c300
Node=0x55b625c2c0
Node=0x55b625c2e0
Node=0x55b625c320
Node=0x55b625c360
Node=0x55b625c2a0
遍历销毁
遍历单链表取出每个节点依次释放,执行顺序从前向后
void funtion_Free(struct LNode *Node)
{struct LNode *L;while(P) {L = P;P = P->next;free(L);L->next = NULL;}return;
}执行顺序:
Node=0x55693dc2a0
Node=0x55693dc360
Node=0x55693dc320
Node=0x55693dc2e0
Node=0x55693dc2c0
Node=0x55693dc300
Node=0x55693dc340
单链表销毁的两种方式相关推荐
- c语言双链表排序交换节点_图解:单链表翻转的三种方式!
当我们在聊到链表反转的时候,一定说的都是单链表,双链表本身就具有前驱指针 Prev 和后续指针 next,无需进行翻转. 单链表反转,反转后的效果如下: 看起来很简单,只需要将单链表所有结点的 nex ...
- 将单链表翻转的两种方法
单链表翻转很容易理解,例如: 输入: NODE1->NODE2->NODE3->NODE4->NODE5->NULL 输出: NODE5->NODE4->NO ...
- SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)
最为常用定时任务框架是Quartz,并且Spring也集成了Quartz的框架,Quartz不仅支持单实例方式还支持分布式方式.本文主要介绍Quartz,基础的Quartz的集成案例本,以及实现基于数 ...
- php 恶汉单例,单例模式的两种方式(恶汉式,懒汉式)
单例模式的两种形式(恶汉式,懒汉式) 单例模式的特点:解决了一个类在内存的唯一性,这个类的对象只有一个. 写单例模式的步骤: 1. 私有修饰构造方法 2. 在本类的成员位置, new 自己类的对象 3 ...
- form表单提交数据的两种方式——submit直接提交、AJAX提交
submit提交 form表单本身提供action属性,在action属性中填写数据提交地址后,点击submit类型的按钮即可将数据提交至指定地址,代码如下: <form action=&quo ...
- 单链表建立的两种方法 头插法和尾插法
目录: 方法1:头插法 方法2:尾插法 方法1:头插法 基本思路: 定义一个链表类型的指针l,指针l指向的是链表的首地址,而不是链表的第一个数,指针l指向的下一个链表类型才是链表的第一个数,每次往链表 ...
- angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
angularjs通过ng-change和watch两种方式实现对表单输入改变的监控 直接上练习代码 <!DOCTYPE html> <html xmlns="http:/ ...
- Struts2-表单验证的两种方式
1. Struts2中的输入校验 2. 编码方式校验 1) Action一定要继承自ActionSupport 2) 针对某个要进行校验的请求处理方法编写一个 public void vali ...
- 网页表单form中提交的两种方式
本文是我本人在开发网页时,在表单中加入了button按钮,本来是用于jQuery点击相应事件的按钮,然后,但我点击button时,发现不是达到jQuery指定效果,原本以为class标签或者其他代码写 ...
最新文章
- Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应...
- idea 提示忽略大小写
- Reverse Sort 思维
- 一文看懂Transformer内部原理(含PyTorch实现)
- [零基础,全开源]基于web的远程深度学习服务搭建
- 转仁兄:Binary search and its variation
- 攀爬者(洛谷P5143题题解,Java语言描述)
- element的表格index自定义_vue+element-ui实现表格编辑的三种实现方式
- ES6新特性_ES6语法糖class介绍与初体验_就是个语法糖而已---JavaScript_ECMAScript_ES6-ES11新特性工作笔记033
- Java 实现奇数阶幻方的构造
- 在JMP中拆分数据集有烦恼?这些实用妙招试试看!
- unity3d游戏资源提取
- Ansible#Ansible-Jinja2模板介绍
- littlefs系列:Files
- 腾讯视频2019面试题目分享
- b区计算机211学校排名,b区211大学名单排名
- 调用百度人体分析api 实现人体分析
- 经典力学(动力学)——动量守恒定律与能量守恒定律
- 蓝牙连接音箱抓空包、HCI、sitalog
- sql存储过程语法详解
热门文章
- 喜讯|弥蒙高铁成功接入全国铁路网
- 饿了么网站订餐外卖系统功能介绍
- Gilbert Strang 《Introduction to Linear Algebra》 chap1 Introduction to Vectors 笔记
- java用arraylist求和_Java中ArrayList的使用
- 【视音频编程学习】开源音频加速方案Sonic、SoundTouch对比及实时处理音频的实验分析
- Java学习基本英语单词(持续更新)API
- 夜神双开器打开多个模拟器
- 极品英文翻唱歌曲--《谢谢你的爱》歌词俸上
- 前端面试题---html/css
- 天池大赛之工业蒸汽量预测(有史以来最全面)