std::collections::LinkedList
複数のリストをコンパイルするときにそれらのリストの番号が不明な場合はどうすればよいですか?複数のリンクリストを作成し、それらの間で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();
}
これはappend()
を使用しているとき、私はv
の2つの可変の参照を持っているので、コンパイルに失敗しました。私もVec<&mut LinkedList<i32>>
を使ってみましたが、成功しませんでした。
この問題にはどのようなアプローチが適していますか?