将两个列表合并成一个单独的列表

时间:2018-08-30 22:15:00

标签: c++ list templates stl

我正在尝试将两个列表合并为一个单独的列表。我知道如何合并两个列表,但是我不确定如何将这些值合并到一个空的第三个列表中,而不会更改两个列表的值。

list <int> FirstList, SecondList, ThirdList;

FirstList.merge(SecondList);

1 个答案:

答案 0 :(得分:4)

您想要的是通用合并算法,该算法从两个输入范围进行复制,而不是针对列表的专用合并算法(将节点转移到第三个列表中):

std::merge(FirstList.begin(), FirstList.end(),
           SecondList.begin(), SecondList.end(),
           std::back_inserter(ThirdList));