
算法与数据结构
文章平均质量分 92
猪哥-嵌入式
这个作者很懒,什么都没留下…
展开
-
LwIP系列(2):动态内存池管理(memp.c)详细分析
我们在学习Lwip源码时,内存管理是绕不开的一个重点,我们在看相关的代码时,经常会看到和, 其中:(1)memp_malloc是从内存池中申请内存,具体实现在memp.c + memp.h。(2)mem_malloc则是从中申请内存,具体实现在mem.c + mem.h中。这两个API的区分也很容易,“p”是pool的简称,所以memp代表从内存池,mem是从内存堆。原创 2023-06-18 11:58:45 · 2009 阅读 · 0 评论 -
冒泡排序、快速排序算法理解及C程序实现
前言:关于 快速排序算法的相关理解,本文借鉴了 啊哈磊 老师的《常用排序——快速排序》 ,在此向作者 致敬,写的挺好。目录一、冒泡排序二、快速排序三、小结一、冒泡排序 冒泡排序是各种教材中 经常提到的一种排序 方法,基本思想就是: ① 从数组的头部开始,比较相邻两个数,如果第1个数比第2个数大,就交换他们两个。也就是让较大 的数逐渐往后 移动,直...原创 2019-07-22 21:13:20 · 2504 阅读 · 1 评论 -
深入理解数据结构(一):队列 及 C代码框架
“队列”型数据结构是一种非常经典的数据结构,理解这个数据结构,能够更深入的理解一些功能机制,比如消息队列等。队列的思想对于程序逻辑中的应用,还是非常普遍和重要的,最常见的应用就是消息队列,下面就来分析一下队列数据结构的各种概念。一、“队列”数据结构能做什么? 队列数据结构,正如字面意思所述,能够对一堆数据,按照先后顺序来管理,本质上是对内存区域的管理,举例来讲,消息队列,假设...原创 2019-07-27 20:43:26 · 773 阅读 · 0 评论 -
深入理解Linux内核之链表 list.h 功能实现原理、接口说明及示例代码
目录一、双向链表接口函数及相关宏定义分析0、list_head 结构体1、offsetof(TYPE, MEMBER) 宏2、ontainer_of(ptr, type, member) 宏3、LIST_HEAD_INIT 宏4、LIST_HEAD 宏5、INIT_LIST_HEAD 函数6、LIST_HEAD 和INIT_LIST_HEAD 的区别7、lis...原创 2019-08-11 22:26:46 · 6625 阅读 · 2 评论