Чтобы отсортировать вектор в Rust, вы можете использовать различные методы, предоставляемые стандартной библиотекой. Вот некоторые из наиболее часто используемых методов вместе с примерами кода:
-
Использование метода
sort:fn main() { let mut vec = vec![5, 2, 4, 1, 3]; vec.sort(); println!("{:?}", vec); // Output: [1, 2, 3, 4, 5] } -
Использование метода
sort_byс собственной функцией сравнения:fn main() { let mut vec = vec![5, 2, 4, 1, 3]; vec.sort_by(|a, b| a.cmp(b)); // or vec.sort_by(std::cmp::Ord::cmp); println!("{:?}", vec); // Output: [1, 2, 3, 4, 5] } -
Использование метода
sort_by_keyс функцией извлечения ключа:fn main() { let mut vec = vec!["apple", "banana", "cherry"]; vec.sort_by_key(|s| s.len()); println!("{:?}", vec); // Output: ["apple", "cherry", "banana"] } -
Использование метода
sort_unstableдля нестабильной сортировки:fn main() { let mut vec = vec![5, 2, 4, 1, 3]; vec.sort_unstable(); println!("{:?}", vec); // Output: [1, 2, 3, 4, 5] } -
Использование метода
sort_by_cached_keyс функцией извлечения кэшированного ключа:fn main() { let mut vec = vec!["apple", "banana", "cherry"]; vec.sort_by_cached_key(|s| s.len()); println!("{:?}", vec); // Output: ["apple", "cherry", "banana"] }
Это всего лишь несколько примеров сортировки векторов в Rust. Каждый метод имеет свои преимущества и варианты использования, поэтому вы можете выбрать подходящий, исходя из ваших конкретных требований.