如何在Rust中排序向量:完整指南与示例
大家好!我刚开始学习Rust,遇到了排序向量的问题。在其他语言中,比如Python或JavaScript,一行代码就能搞定,但在这里我完全搞糊涂了。
我有一个数字向量:
```rust
let mut numbers = vec![5, 2, 8, 1, 9, 3];
```
我想按升序排序它。我尝试这样做:
```rust
numbers.sort();
```
但编译器报错:"the trait `std::cmp::Ord` is not implemented for `i32`"。虽然我认为对于数字来说这应该是开箱即用的。
另外我有一个字符串向量:
```rust
let mut fruits = vec!["banana", "apple", "cherry", "date"];
```
这里的排序完全不起作用——编译器提示关于借用和移动的问题。
我还尝试对结构体进行排序:
```rust
struct Person {
name: String,
age: u32,
}
let mut people = vec![
Person { name: "Alice".to_string(), age: 30 },
Person { name: "Bob".to_string(), age: 25 },
Person { name: "Charlie".to_string(),