C++ List 中的 merge()函数

首页 / C++入门教程 / C++ List 中的 merge()函数

C++ List merge()函数以升序合并两个排序的列表。它将y列表合并到给定的列表集合中,这将从y中删除所有元素。

可能发生两种情况

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

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

merge - 语法

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

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

merge - 参数

list2  -  要与list1合并的列表。

compare :这是一个比较函数对象,用于比较第一个参数和第二个参数的值。如果第一个参数的值小于第二个参数,则返回true,否则返回false。

merge - 返回值

它不返回任何值。

merge - 例子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合并到一个列表中。

merge - 例子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()函数根据内部比较合并列表。

无涯教程网

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

推荐系统三十六式 -〔刑无刀〕

Web协议详解与抓包实战 -〔陶辉〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

代码之丑 -〔郑晔〕

Spring编程常见错误50例 -〔傅健〕

自动化测试高手课 -〔柳胜〕

Kubernetes入门实战课 -〔罗剑锋〕

商业思维案例笔记 -〔曹雄峰〕

好记忆不如烂笔头。留下您的足迹吧 :)