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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。