在C ++中,如何将主List(List)中存储的所有列表合并到一个List中?在这种情况下,每个列表只包含整数。
答案 0 :(得分:1)
假设您正在使用C ++ 11和std::list
,并且您的列表未排序,并且您不关心重复项:
std::list<std::list<int>> all_lists;
... //fill it somehow
std::list<int> merged;
for (const auto& l : all_lists) {
merged.insert(merged.end(), l.begin(), l.end());
}
如果您不再需要使用原始列表,则可以使用std::list::splice
代替std::list::insert
。在这种情况下,语法为:
for (auto& l : all_lists) {
merged.splice(merged.end(), l, l.begin(), l.end());
}