Каков рекомендуемый в настоящее время метод сортировки значений в векторе?
Как отсортировать вектор в Rust?
Ответ 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