Сортировка вектора в Rust: методы и примеры

Чтобы отсортировать вектор в Rust, вы можете использовать различные методы. Вот некоторые из наиболее часто используемых:

  1. Использование метода sort. Для сортировки элементов можно использовать метод sort, предоставляемый типом Vec. вектора в порядке возрастания. Например:

    let mut vec = vec![3, 1, 4, 2, 5];
    vec.sort();
  2. Использование метода sort_unstable. Если вам не требуется стабильный порядок сортировки, вы можете использовать метод sort_unstable, который обычно обеспечивает более высокую производительность. Вот пример:

    let mut vec = vec![3, 1, 4, 2, 5];
    vec.sort_unstable();
  3. Использование пользовательской функции сравнения. Если вам нужно указать собственный порядок сортировки, вы можете использовать методы sort_byили sort_unstable_byи предоставить функцию сравнения. Функция сравнения должна возвращать Ordering::Less, если первый элемент должен идти перед вторым, Ordering::Greater, если он должен идти после, или Ordering:: Равные, если они считаются равными. Вот пример сортировки по убыванию:

    let mut vec = vec![3, 1, 4, 2, 5];
    vec.sort_by(|a, b| b.cmp(a));
  4. Использование метода sorted. Если вы предпочитаете создать новый отсортированный вектор без изменения исходного, вы можете использовать метод sortedиз >Итератор. Вот пример:

    let vec = vec![3, 1, 4, 2, 5];
    let sorted_vec = vec.into_iter().sorted().collect::<Vec<_>>();