JTBinaryHeap简单二进制堆包装器for Objective-C和Swift

二进制堆的简单包装器,Objective-C 和 Swift 项目都能用,代码量少,效率还不错。JTBinaryHeap 就是专为 CFBinaryHeap 打了个轻量封装,最小堆操作特顺手。

初始化 JTBinaryHeap 后直接用 addValue: 添加元素,最小值用 minimumValueextractMinimumValue 拿。没啥复杂逻辑,语义清晰,调试也方便。

比如你用的是 Objective-C:

JTBinaryHeap *heap = [[JTBinaryHeap alloc] init];
[heap addValue:@"Banana"];
[heap addValue:@"Dinosaur"];
NSString *minValue = [heap minimumValue]; // 返回 @"Banana"

Swift 项目也能直接 import JTBinaryHeap 用,不用额外桥接,挺适合跨语言场景的。是你需要快速优先级排序、任务队列时,用它搞个最小堆简直不要太爽。

哦对了,它内部用的是 CFBinaryHeap,所以性能上还是挺靠谱的,不是纯粹写来“好看”的代码。如果你对系统级堆结构不熟,直接用它上手也没门槛。

如果你项目里有优先队列或者调度需求,可以试试 JTBinaryHeap,写法简单、集成轻量,用起来还蛮省心的。

zip 文件大小:12.37KB