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 max_size()用法及代碼示例
- C++ List push_back()用法及代碼示例
- C++ List insert()用法及代碼示例
- C++ List empty()用法及代碼示例
- C++ List reverse()用法及代碼示例
- C++ List splice()用法及代碼示例
- C++ List swap()用法及代碼示例
- C++ List unique()用法及代碼示例
- C++ List resize()用法及代碼示例
- C++ List assign()用法及代碼示例
- C++ List size()用法及代碼示例
- C++ List back()用法及代碼示例
- C++ List sort()用法及代碼示例
- C++ List emplace()用法及代碼示例
- C++ List pop_back()用法及代碼示例
- C++ List push_front()用法及代碼示例
- C++ List emplace_front()用法及代碼示例
- C++ List emplace_back()用法及代碼示例
- C++ List pop_front()用法及代碼示例
- C++ List front()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ List merge()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。