Create a two-dimensional array at runtime: Difference between revisions

m
→‎{{header|Rust}}: Added comment explanations
(→‎{{header|Rust}}: Added Rust)
m (→‎{{header|Rust}}: Added comment explanations)
Line 1,943:
assert!(rows != 0 && cols != 0);
 
// Creates a vector of vectors with all elements initialized to 0.
let mut v = initialize_vecinit_vec(|_| initialize_vecinit_vec(|_| 0, cols), rows);
v[rows-1][cols-1] = 4;
println!("{}", v[rows-1][cols-1]);
Line 1,950 ⟶ 1,951:
}
 
// Returns a dynamically-allocated array of size `n`,
fn initialize_vec<F,T>(f: F, size: usize) -> Vec<T>
// initialized with the values computed by `f`
where F: Fn(usize) -> T
 
fn initialize_vecinit_vec<F,T>(f: F, sizen: usize) -> Vec<T>
where F: Fn(usize) -> T
{
let mut vec = Vec::with_capacity(sizen);
for i in 0..sizen {
vec.push(f(i));
}
vec