目前推荐的向量中的值排序方法是什么?
答案 0 :(得分:69)
答案 1 :(得分:0)
虽然上面提出的解决方案可以对整数向量进行排序,但我在排序浮点数向量时遇到了问题。
最简单的解决方案是使用quickersort crate,它也可以对浮点数进行排序。 quickersort crate还可以对任何类型的其他向量进行排序,并且还实现了使用比较进行排序的方法(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
答案 2 :(得分:0)
要对向量 v
进行排序,在大多数情况下 v.sort()
将是您所需要的。
如果您想应用自定义排序规则,您可以通过 v.sort_by()
来实现。这包括您想要对以下值进行排序的情况:
另请注意,sort()
和 sort_by()
使用 stable 排序算法(即,不重新排序相等的元素)。如果您不需要稳定的排序,您可以使用 sort_unstable()
/ sort_unstable_by()
,因为它们通常会更快一些并且使用更少的内存。