审查这个生成的库存转移辅助函数。
在两个不同的有效货位之间移动一个单位;索引无效或来源为空时返回 false;不得溢出、分配或产生输出。
Rust
fn transfer_one(
stock: &mut Vec<u32>,
from: usize,
to: usize,
) -> bool {
if from >= stock.len() || to >= stock.len() {
return false;
}
let source = &mut stock[from];
let destination = &mut stock[to];
let before = stock.clone();
if *source == 0 {
return false;
}
*source -= 1;
*destination += 1;
println!("before: {before:?}");
true
}
生成代码仅作示例,不代表任何特定模型