list::merge()是C++ STL中的内置函数,它将两个排序的列表合并为一个。列表应按升序排序。如果没有在参数中传递比较器,则它将两个排序列表合并为一个排序列表。如果在参数中传递了比较器,则它将合并列表,从而进行内部比较。
- 用法:
list1_name.merge(list2_name)
参数:该函数接受一个强制性参数list2_name,该参数指定要合并到list1中的列表。
返回值:该函数不返回任何东西
以下程序演示了该函数:
示例1:
// program below demonstrates the // merge function in c++ #include <bits/stdc++.h> using namespace std; int main() { // declaring the lists // initially sorted list<int> list1 = { 10, 20, 30 }; list<int> list2 = { 40, 50, 60 }; // merge operation list2.merge(list1); cout << "List: "; for (auto it = list2.begin(); it != list2.end(); ++it) cout << *it << " "; return 0; }
输出:List: 10 20 30 40 50 60
- 用法:
list1_name.merge(list2_name, comparator)
参数:该函数接受以下两个参数:
- list2-name –它指定要在list1中合并的list2。
- comparator –它是一个二进制谓词,它采用与列表中包含的值相同类型的两个值,如果认为第一个参数以其定义的严格弱顺序在第二个参数之前,则返回true,否则返回false。
返回值:该函数不返回任何东西
// program below demonstrates the // merge function in c++ #include <bits/stdc++.h> using namespace std; // comparator which compares elements internally bool comparator(int first, int second) { return first < second; } int main() { // declaring the lists list<int> list1 = { 1, 70, 80 }; list<int> list2 = { 2, 3, 4 }; // merge operation list1.merge(list2, comparator); cout << "List: "; for (auto it = list1.begin(); it != list1.end(); ++it) cout << *it << " "; return 0; }
输出:List: 1 2 3 4 70 80
相关用法
- C++ list end()用法及代码示例
- C++ list max_size()用法及代码示例
- C++ list remove()用法及代码示例
- C++ list resize()用法及代码示例
- C++ list reverse用法及代码示例
- C++ list emplace()用法及代码示例
- C++ list push_front()用法及代码示例
- C++ list pop_front()用法及代码示例
- C++ list pop_back()用法及代码示例
- C++ list splice()用法及代码示例
- C++ list front()用法及代码示例
- C++ list erase()用法及代码示例
- C++ list empty()用法及代码示例
- C++ list push_back()用法及代码示例
注:本文由纯净天空筛选整理自Twinkl Bajaj大神的英文原创作品 list merge() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。