fn arr2d_to_sorted_1d(arr2d: &Vec<Vec<i32>>) -> Vec<i32> {
let mut v = Vec::with_capacity(arr2d.len() * arr2d[0].len());
for row in arr2d {
for &val in row {
v.push(val);
}
}
v.sort();
v
}
fn main() {
let arr2d = vec![
vec![5, 6, 1, 0],
vec![3, 8, 0, 4],
vec![9, 2, 7, 1],
];
let v = arr2d_to_sorted_1d(&arr2d);
for n in v {
print!("{} ", n);
}
}
/*
run:
0 0 1 1 2 3 4 5 6 7 8 9
*/