【问题标题】:Merge two lists into a serparate list将两个列表合并为一个单独的列表
【发布时间】:2019-02-05 22:21:18
【问题描述】:

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

list <int> FirstList, SecondList, ThirdList;

FirstList.merge(SecondList);

【问题讨论】:

  • 您可以将合并的两个列表分配给第三个。
  • @HamzaAnis merge 清除正在合并的列表。
  • @scohe001 但我想说像ThirsList.assign(FirstList.begin(), FirstList.end()) 那样做。 SecondList 将被清除。

标签: c++ list templates stl


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-01-27
    • 2015-04-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    相关资源
    最近更新 更多