當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust BinaryHeap.peek_mut用法及代碼示例


本文簡要介紹rust語言中 std::collections::BinaryHeap.peek_mut 的用法。

用法

pub fn peek_mut(&mut self) -> Option<PeekMut<'_, T>>

返回對二進製堆中最大項的可變引用,如果為空,則返回 None

注意:如果PeekMut值泄漏,堆可能處於不一致狀態。

例子

基本用法:

use std::collections::BinaryHeap;
let mut heap = BinaryHeap::new();
assert!(heap.peek_mut().is_none());

heap.push(1);
heap.push(5);
heap.push(2);
{
    let mut val = heap.peek_mut().unwrap();
    *val = 0;
}
assert_eq!(heap.peek(), Some(&2));

時間複雜度

如果項目被修改,則最壞情況的時間複雜度為 O(log(n)),否則為 O(1)。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::collections::BinaryHeap.peek_mut。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。