萌新求问块状链表
  • 板块学术版
  • 楼主边缘白鸟
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/4/24 10:13
  • 上次更新2023/11/5 00:11:28
查看原帖
萌新求问块状链表
185173
边缘白鸟楼主2021/4/24 10:13

网上写块状链表的博文真的好水,连 oiwiki 也是这样。 所以来问以下关于内存池动态分配和回收节点的时候的原理,为什么 pool[tot--] 是分配节点,而 pool[++tot]=x 是回收节点,而且对 pool 数组的理解也不是很明确,求大佬指点,以下是这一工作的代码:

int pool[MAXN], tot; //池中存放可以使用的节点
int new_node() {        //分配节点
    return pool[tot--];
}
void del(int x) {       //回收节点
    pool[++tot] = x;
}
void init() {           //初始状态所有节点都可以使用
    for(int i = 1; i < MAXN; ++i) {
        pool[++tot] = MAXN-i;
    }
}
2021/4/24 10:13
加载中...