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

Метод pop класса BinaryHeap

Метод pop извлекает наибольший элемент из бинарной кучи BinaryHeap и возвращает его в виде Option. Если куча не пуста, возвращается Some с максимальным значением, а сам элемент удаляется из кучи. Если куча пуста, метод возвращает None. Параметров метод не принимает.

Синтаксис

heap.pop()

Пример

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

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

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

Some(5) [4, 2, 3, 1]

Пример

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

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

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

None

Пример

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

use std::collections::BinaryHeap; fn main() { let mut heap = BinaryHeap::from(vec![1, 2, 3, 4, 5]); while let Some(x) = heap.pop() { println!("{}", x); } }

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

5 4 3 2 1

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

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