Ordenar por maximo en Rust
This commit is contained in:
27
src/Rust/002.rs
Normal file
27
src/Rust/002.rs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
fn order_by_max_i32(lst: &[Vec<i32>]) -> Vec<Vec<i32>> {
|
||||||
|
let mut sorted_lst = lst.to_vec();
|
||||||
|
sorted_lst.sort_by_key(|v| v.iter().max().cloned()); // stable sort by max element
|
||||||
|
|
||||||
|
return sorted_lst
|
||||||
|
}
|
||||||
|
|
||||||
|
fn order_by_max_str<'a>(lst: &[&'a str]) -> Vec<&'a str> {
|
||||||
|
let mut sorted_lst = lst.to_vec();
|
||||||
|
sorted_lst.sort_by_key(|s| s.chars().max()); // stable sort by max char
|
||||||
|
|
||||||
|
return sorted_lst
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let check = vec![vec![3,2], vec![6,7,5], vec![1,4]];
|
||||||
|
println!("{:?}", order_by_max_i32(&check)); // [[3,2],[1,4],[6,7,5]]
|
||||||
|
|
||||||
|
let check = vec![vec![1], vec![0,1]];
|
||||||
|
println!("{:?}", order_by_max_i32(&check)); // [[1],[0,1]]
|
||||||
|
|
||||||
|
let check = vec![vec![0,1], vec![1]];
|
||||||
|
println!("{:?}", order_by_max_i32(&check)); // [[0,1],[1]]
|
||||||
|
|
||||||
|
let check = vec!["este","es","el","primero"];
|
||||||
|
println!("{:?}", order_by_max_str(&check)); // ["el","primero","es","este"]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user