РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
277 of 1245 menu

Метод peek

Метод peek возвращает ссылку на наибольший элемент бинарной кучи BinaryHeap, не удаляя его из коллекции. Метод не принимает параметров и возвращает значение типа Option<&T>: Some со ссылкой на элемент, если куча не пуста, и None, если куча пуста.

В отличие от метода pop, который извлекает максимальный элемент и удаляет его из кучи, метод peek лишь позволяет заглянуть на вершину кучи. Это полезно, когда нужно проверить максимальный элемент, не изменяя саму коллекцию.

Синтаксис

heap.peek()

Пример

Давайте создадим бинарную кучу и посмотрим на её максимальный элемент:

use std::collections::BinaryHeap; fn main() { let heap: BinaryHeap<i32> = BinaryHeap::from(vec![1, 2, 3, 4, 5]); let res = heap.peek(); println!("{:?}", res); }

Результат выполнения кода:

Some(5)

Пример

Давайте проверим поведение метода peek на пустой куче:

use std::collections::BinaryHeap; fn main() { let heap: BinaryHeap<i32> = BinaryHeap::new(); let res = heap.peek(); println!("{:?}", res); }

Результат выполнения кода:

None

Пример

Давайте убедимся, что метод peek не удаляет элемент из кучи:

use std::collections::BinaryHeap; fn main() { let heap: BinaryHeap<i32> = BinaryHeap::from(vec![1, 2, 3, 4, 5]); let first = heap.peek(); let second = heap.peek(); println!("{:?}, {:?}", first, second); println!("{}", heap.len()); }

Результат выполнения кода:

Some(5), Some(5) 5

Смотрите также

  • класс BinaryHeap,
    который представляет бинарную кучу
  • метод pop,
    который извлекает максимальный элемент из кучи
  • метод push,
    который добавляет элемент в бинарную кучу
  • метод new,
    который создаёт новую пустую бинарную кучу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить