JTBinaryHeap简单二进制堆包装器for Objective-C和Swift
二进制堆的简单包装器,Objective-C 和 Swift 项目都能用,代码量少,效率还不错。JTBinaryHeap 就是专为 CFBinaryHeap 打了个轻量封装,最小堆操作特顺手。
初始化 JTBinaryHeap
后直接用 addValue:
添加元素,最小值用 minimumValue
或 extractMinimumValue
拿。没啥复杂逻辑,语义清晰,调试也方便。
比如你用的是 Objective-C:
JTBinaryHeap *heap = [[JTBinaryHeap alloc] init];
[heap addValue:@"Banana"];
[heap addValue:@"Dinosaur"];
NSString *minValue = [heap minimumValue]; // 返回 @"Banana"
Swift 项目也能直接 import JTBinaryHeap
用,不用额外桥接,挺适合跨语言场景的。是你需要快速优先级排序、任务队列时,用它搞个最小堆简直不要太爽。
哦对了,它内部用的是 CFBinaryHeap,所以性能上还是挺靠谱的,不是纯粹写来“好看”的代码。如果你对系统级堆结构不熟,直接用它上手也没门槛。
如果你项目里有优先队列或者调度需求,可以试试 JTBinaryHeap,写法简单、集成轻量,用起来还蛮省心的。
12.37KB
文件大小:
评论区