Avatar ·

如何在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(),