当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust BinaryHeap.push用法及代码示例


本文简要介绍rust语言中 alloc::collections::binary_heap::BinaryHeap.push 的用法。

用法

pub fn push(&mut self, item: T)

将项目推送到二进制堆上。

例子

基本用法:

use std::collections::BinaryHeap;
let mut heap = BinaryHeap::new();
heap.push(3);
heap.push(5);
heap.push(1);

assert_eq!(heap.len(), 3);
assert_eq!(heap.peek(), Some(&5));

时间复杂度

预计成本为push,对被推送的元素的每个可能的顺序以及足够多的推送次数进行平均,是O(1).当推送元素时,这是最有意义的成本指标不是已经处于任何排序模式中。

如果元素以升序为主,则时间复杂度会降低。在最坏的情况下,元素按升序推送,每次推送的摊销成本是 O(log(n)) 对包含 n 个元素的堆。

最坏情况下的成本单身的拨电至pushO(n)。最坏的情况发生在容量耗尽并需要调整大小时。调整大小的成本已在之前的数字中摊销。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 alloc::collections::binary_heap::BinaryHeap.push。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。