如何在C ++中连接列表列表?`

时间:2014-02-21 08:46:35

标签: c++ list

在C ++中,如何将主List(List)中存储的所有列表合并到一个List中?在这种情况下,每个列表只包含整数。

1 个答案:

答案 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());
}