list :: merge()是C++ STL中的内置函数,它将两个排序后的列表合并为一个。列表应按升序排序。如果没有在参数中传递比较器,则它将两个排序列表合并为一个排序列表。如果在参数中传递了比较器,则它将合并列表,从而进行内部比较。
- 句法:
list1_name.merge(list2_name)
参数:该函数接受一个强制性参数list2_name ,该参数指定要合并到list1中的列表。
返回值:该函数不返回任何内容
以下程序演示了该函数:
程序1:
// program below demonstrates the // merge function in c++ #include
using namespace std; int main() { // declaring the lists // initially sorted list list1 = { 10, 20, 30 }; list 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。
- 比较器–比较器–它是一个二进制谓词,它采用与列表中包含的值相同类型的两个值,如果认为第一个参数以其定义的严格弱顺序在第二个参数之前,则返回true,否则返回false。
返回值:该函数不返回任何内容
// program below demonstrates the // merge function in c++ #include
using namespace std; // comparator which compares elements internally bool comparator(int first, int second) { return first < second; } int main() { // declaring the lists list list1 = { 1, 70, 80 }; list 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++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。