Подтвердить что ты не робот

Как отсортировать вектор в Rust?

Каков рекомендуемый в настоящее время метод сортировки значений в векторе?

4b9b3361

Ответ 1

Изменчивый фрагмент элементов с полным упорядочением имеет метод sort.

Поскольку Vec<T> реализует DerefMut<[T]>, вы можете вызвать этот метод непосредственно на вектор, поэтому vector.sort() работает.

Ответ 2

Хотя предлагаемые выше решения могут сортировать векторы целых чисел, у меня были проблемы с сортировкой векторов поплавков.

Самое простое решение заключалось в использовании ящика для быстрой сортировки, который также может сортировать поплавки. Ящик быстрой сортировки также может сортировать другие векторы любого типа, а также реализует методы сортировки с использованием сравнений (sort_by).

Ниже приведен код Rust:

extern crate quickersort;
//let create the vector with the values
let mut vals = Vec::new();
vals.push(31.2);
vals.push(31.2);
vals.push(10.0);
vals.push(100.4);
vals.push(4.1);
quickersort::sort_floats(&mut vals[..]); // sort the vector