当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ List merge()用法及代码示例


C++ List merge() 函数以递增的顺序合并两个已排序的列表。它将 y 列表合并到给定的列表容器中,并从 y 中删除所有元素。

合并 function() 会出现两种情况:

如果未在参数中传递比较器,则将两个排序列表合并为一个。

如果在参数中传递了比较器,则列表将根据它们的内部比较进行合并。

用法

考虑两个列表 list1 和 list2。语法是:

list1.merge(list2);
list1.merge(list2,compare);

参数

list2:要与list1合并的列表。

compare: 它是一个比较函数对象,将第一个参数的值与第二个参数的值进行比较。如果第一个参数的值小于第二个参数,则返回 true,否则返回 false。

返回值

它不返回任何值。

例子1

让我们看一个简单的例子

#include <iostream>
#include<list>
using namespace std;
int main()
{
   list<int> li={1,2,3,4};
   list<int> li1={5,6,7,8};
   li.merge(li1);
   for(list<int>::iterator itr=li.begin();itr!=li.end();++itr)
   std::cout << *itr<<? ?;
    return 0;
}

输出:

1 2 3 4 5 6 7 8

在此示例中,merge() 函数将列表 li 与列表 li1 合并为一个列表。

例子2

看一个简单的例子,在参数中传入比较器

#include <iostream>
#include<list>
using namespace std;
bool comparison(int first, int second)
{
    bool a;
    a=first<second;
    return (a);
}
int main()
{
  list<int> li={9,10,11};
  list<int> li1={5,6,7,15};
  li.merge(li1,comparison);
  for(list<int>::iterator itr=li.begin();itr!=li.end();++itr)
  std::cout << *itr <<" "<< std::endl;
  return 0;
}

输出:

5 6 7 9 10 11 15

在本例中,merge() 函数根据内部比较合并列表。





相关用法


注:本文由纯净天空筛选整理自 C++ List merge()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。