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

Метод sort_unstable

Метод sort_unstable сортирует элементы среза в порядке возрастания. В отличие от метода sort, данный метод не гарантирует сохранение исходного порядка для элементов, которые считаются равными при сравнении. Это делает сортировку быстрее и экономичнее по памяти, но подходит только тогда, когда стабильность не важна. Метод не принимает параметров и не возвращает значения - он изменяет срез на месте.

Синтаксис

slice.sort_unstable()

Пример

Давайте отсортируем срез чисел по возрастанию:

fn main() { let mut arr = [5, 2, 8, 1, 3]; arr.sort_unstable(); println!("{:?}", arr); }

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

[1, 2, 3, 5, 8]

Пример

Давайте отсортируем вектор строк по возрастанию:

fn main() { let mut vec = vec!["e", "b", "d", "a", "c"]; vec.sort_unstable(); println!("{:?}", vec); }

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

["a", "b", "c", "d", "e"]

Пример

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

fn main() { let mut arr = [3, 1, 4, 1, 5, 9, 2, 6]; arr.sort_unstable_by(|a, b| b.cmp(a)); println!("{:?}", arr); }

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

[9, 6, 5, 4, 3, 2, 1, 1]

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

  • метод sort,
    который выполняет стабильную сортировку среза
  • метод sort_by,
    который сортирует срез с помощью замыкания
  • метод is_sorted,
    который проверяет, отсортирован ли срез
  • метод binary_search,
    который ищет элемент в отсортированном срезе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить