Класс BTreeSet
Класс BTreeSet представляет собой коллекцию,
которая хранит уникальные элементы в отсортированном
порядке. В отличие от HashSet, который
не гарантирует порядок элементов, BTreeSet
всегда поддерживает элементы в упорядоченном виде
благодаря использованию бинарного дерева поиска.
Это позволяет эффективно выполнять операции поиска,
вставки и удаления, а также получать диапазоны
элементов. Параметром класс принимает тип элементов,
которые будут храниться в множестве.
Для использования BTreeSet необходимо
подключить его из модуля std::collections.
Синтаксис
use std::collections::BTreeSet;
let mut set: BTreeSet<T> = BTreeSet::new();
Пример
Давайте создадим пустое множество BTreeSet
и добавим в него несколько чисел:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(3);
set.insert(1);
set.insert(2);
println!("{:?}", set);
}
Результат выполнения кода:
{1, 2, 3}
Пример
Давайте проверим, содержит ли множество
элемент 2:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
let res = set.contains(&2);
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте получим диапазон элементов от 2
до 4 включительно:
use std::collections::BTreeSet;
fn main()
{
let mut set = BTreeSet::new();
set.insert(1);
set.insert(2);
set.insert(3);
set.insert(4);
set.insert(5);
let res: Vec<&i32> = set.range(2..=4).collect();
println!("{:?}", res);
}
Результат выполнения кода:
[2, 3, 4]