更新时间:2022-12-12 09:48:34
填充矢量,然后使用 .as_mut_slice()。reverse()
反转。 / p>
Fill the vector, then reverse it using .as_mut_slice().reverse()
.
fn rev1<A>(fel: &Rc<FrontierElem<A>>) -> Vec<A>
where
A: Clone,
{
let mut cur = fel;
let mut ret = Vec::new();
while let Some(ref prev) = cur.prev {
ret.push(cur.action.clone());
cur = prev;
} // First action (where cur.prev==None) is ignored by design
ret.as_mut_slice().reverse();
ret
}