数据结构
ngany
这个作者很懒,什么都没留下…
展开
-
数据结构之队列
源文件部分 #include <stdio.h> #include <stdint.h> #include "queue.h" #define Q_DIM(array_) (sizeof(array_) / sizeof(array_[0])) typedef unsigned int bool; uint32_t MyEvtPoolSto[5]; Queue_ My...原创 2018-12-27 20:17:31 · 151 阅读 · 0 评论 -
队列结构、内存管理与QP原生事件队列、QP原生事件池
目录 发布事件与取出、处理事件的简要说明 原生事件队列 原生事件队列初始化 使用MyQueue_post_FIFO发送事件 使用MyQueue_get函数获取一个事件 队列使用情况简图 QP原生事件池/内存池 事件池的初始化 从池里获得一个内存块 把一个内存块回收到池内 VS测试代码 队列 事件池 头文件 主函数 发布事件与取出、处理事件的简要说明 发布事件 从...原创 2018-12-28 17:18:28 · 898 阅读 · 1 评论 -
FreeRTOS内存管理heap_2
简要介绍 heap2采用链表的方法管理内存堆。链表结构体的next指针指向下一个空闲内存块。并且链表连接的内存块按照从小到大的顺序排列。分配内存的时候,可以遍历查询。 申请内存时,查询到合适大小的内存后,如果内存有多,那么需要割下多余内存,重新插入到内存链表中,按照从小到大的顺序,在合适的位置插入。释放内存的时候,通过释放的地址找到该内存块的链表结构体,给出要释放的内存的大小,并插入到内存堆链...原创 2019-01-04 16:02:39 · 701 阅读 · 0 评论 -
C语言 int data = "pocky";
void main(void) { int data = "pocky"; int *s = "pocky"; printf("data is %d \n", data); printf("something in data is %s \n", data); printf("s real addr is %d \n", &s); printf("s point addr i...原创 2019-04-02 00:40:02 · 774 阅读 · 0 评论 -
二叉查找树
前驱节点 有左子树,前驱节点为左子树的最右节点; 没有左子树,且本身为右子树,前驱节点为父节点; 没有左子树,且本身为左子树,向父节点查找,第一个作为右子树节点的父节点的父节点; 删除节点 没有子树,直接删除 只有左子树或者右子树,孩子节点代替删除节点; 同时又左右子树,前驱节点的值保存到当前节点,删除前驱节点;(这时前驱节点一定为第1种情况,一定没有子树,可以直接删除) #i...原创 2019-07-25 16:37:06 · 83 阅读 · 0 评论