【文件属性】:
文件名称:malloc:通过二叉搜索树实现的malloc函数
文件大小:7KB
文件格式:ZIP
更新时间:2021-07-05 10:06:04
C
/*
毫米
我们的设计是维护一个二叉搜索树来管理不同大小的空闲块。
我们使用一个空闲块本身作为树节点。
树中的每个节点也是双向链表的头,其中所有节点的大小相同。
free_tree 中的节点有四个属性 left-child、right-child、parent 和兄弟。
并且每个属性都使用空闲块中的一个字长空间来执行。
如果节点在链表中,这是一个树节点,
我们使用 left-child 来保存这个列表中前一个空闲块的地址,
并使用兄弟保存此列表中下一个空闲块的地址,
还将右孩子分配给 -1,这与没有右孩子的树节点不同(在这种情况下,将其分配给 0)。
此外,它由一个 4 字节的头部和一个 4 字节的尾部包裹,用于合并
空闲块的最小大小为 24 字节。
当我们需要分配的大小不大于512时,我们分配一个上键大小为(2^n)+4+4的空间。
例如,当我们需要10个字节的空
【文件预览】:
malloc-master
----README.md(2KB)
----malloc.c(23KB)