1. 背景说明
2. 示例代码
buddySystem.h
// 伙伴系统实现头文件#ifndef BUDDY_SYSTEM_H
#define BUDDY_SYSTEM_H#include "errorRecord.h"#define POWER_TIME 10 // 可利用空间总容量的 2 的幂次,子表的个数为 POWER_TIME + 1
#define MAX_USED_BLOCK_NUM 100 // 占用块个数的最大值typedef struct Word {struct Word *lLink; // 指向前驱结点Boolean tag; // 块标志,TRUE: 空闲,FALSE: 占用int blockSize; // 块大小,值为 2 的 blockSize 幂次struct Word *rLink; // 头部域,指向后继结点
} Word, Head, *Space; // Word: 内