CFBinaryHeap的Objective-C封装。核心基础优先队列实现。
将以下内容添加到CocoaPods Podfile中
pod 'MCBinaryHeap', '~> 0.1'
或者作为git子模块克隆,
或只需将MCBinaryHeap文件夹中的文件复制到您的项目中。
添加到MCBinaryHeap
的对象必须实现- (NSComparisonResult)compare:(id)otherObject;
。
用法与NSMutableArray
非常相似。
MCBinaryHeap *heap = [MCBinaryHeap heapWithArray:@[@3, @4, @5, @2]];
[heap addObject:@(1)];
NSLog(@"heap count %lu", heap.count);
[heap enumerateObjectsUsingBlock: ^(id object) {
NSLog(@"heap item %@", object);
}];
NSLog(@"min object %@", [heap popMinimumObject]);
请参阅示例项目以获取更多详细信息。
MCBinaryHeap在MIT许可证下。