// 生活在BSD的树上
#import "/template.typ":doc-template
#doc-template(
title: "生活在BSD的树上",
date: "2022年8月17日",
body: [
FreeBSD、OpenBSD系统都自带了#link("https://github.com/openbsd/src/blob/master/sys/sys/tree.h")[一个很好用的红黑树和splay树实现]。
这个实现只有头文件,无需外部依赖,而且是泛型的。所以想在Linux下面用起来也很简单。
= 获取头文件
运行:
```sh
curl https://raw.githubusercontent.com/openbsd/src/master/sys/sys/tree.h -o tree.h
```
这个头文件里面包含了`sys/_null.h`,这个文件在Linux里面是没有的。不过,`tree.h`用这个文件只是为了定义`NULL`,所以改成`stdlib.
...
Email: i (at) mistivia (dot) com