[rust] Rust에서 벡터를 정렬하는 방법?

벡터에서 값을 정렬하기 위해 현재 권장되는 방법은 무엇입니까?



답변

전체 순서가있는 가변 요소 조각에는 sort메서드가 있습니다.

Vec<T>구현 하기 DerefMut<[T]>때문에이 메서드를 벡터에서 직접 호출 할 수 있으므로 vector.sort()작동합니다.


답변

위에서 제안한 솔루션은 정수 벡터를 정렬 할 수 있지만 부동 벡터를 정렬하는 데 문제가있었습니다.

가장 간단한 해결책은 수레를 정렬 할 수 있는 quickersort crate 를 사용하는 입니다. quickersort 크레이트는 또한 모든 유형의 다른 벡터를 정렬 할 수 있으며 비교 (sort_by)를 사용하여 정렬하는 방법도 구현합니다.

다음은 Rust 코드입니다.

extern crate quickersort;
//let's 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


답변