Каков правильный способ иметь несколько std::collections::LinkedList
s, где количество этих списков неизвестно во время компиляции?Каков правильный способ иметь несколько связанных списков и перемещать данные между ними в Rust?
Я заполняю их данными, а также их слияние (например, используя append()
). Я думал, что было бы хорошо иметь вектор, который содержит эти списки, или содержит ссылки на эти списки.
Я попытался следующие:
use std::collections::LinkedList;
fn listtest() {
let mut v: Vec<LinkedList<i32>> = Vec::new();
v.push(LinkedList::new()); // first list
v.push(LinkedList::new()); // second list
v[0].push_back(1); // fill with data
v[1].push_back(3); // fill with data
v[0].append(&mut v[1]); // merge lists
}
fn main() {
listtest();
}
Это не удается собрать, потому что у меня есть два изменяемых ссылок v
при использовании append()
. Я также пробовал использовать Vec<&mut LinkedList<i32>>
, но не удалось.
Каким будет правильный подход к этой проблеме?