forward_list::merge()是C++ STL中的内置函数,它将两个排序的forward_lists合并为一个。
merge()函数可以通过两种方式使用:
- 将两个按升序排序的前向列表合并为一个。
- 使用比较函数将两个转发列表合并为一个。
用法:
forwardlist_name1.merge(forward_list& forwardlist_name2) or forwardlist_name1.merge(forward_list& forwardlist_name2, Compare comp)
参数:该函数接受两个指定如下的参数:
- forwardlist_name2–将要合并的另一个相同类型的前向列表
- comp–比较函数,应返回true或false。
返回值:该函数不返回任何内容。
以下示例程序旨在说明上述函数:
示例1:
// CPP program to illustrate the
// forward_list::merge() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
forward_list<int> fl1 = { 12, 25, 31, 41 };
forward_list<int> fl2 = { 10, 20, 30 };
// merge two forward list
fl1.merge(fl2);
// print the contents of the forward list
cout << "List contains following elements" << endl;
for (auto it = fl1.begin(); it != fl1.end(); ++it)
cout << *it << " ";
return 0;
}
输出:
List contains following elements 10 12 20 25 30 31 41
示例2:
#include <bits/stdc++.h>
using namespace std;
// comparison function
bool cmp_fun(int a, int b)
{
return a > b;
}
int main()
{
forward_list<int> fl1 = { 41, 31, 25, 12 };
forward_list<int> fl2 = { 30, 20, 10 };
// merge two forward list
fl1.merge(fl2, cmp_fun);
// print the contents of the forward list
cout << "List contains following elements" << endl;
for (auto it = fl1.begin(); it != fl1.end(); ++it)
cout << *it << " ";
return 0;
}
输出:
List contains following elements 41 31 30 25 20 12 10
相关用法
注:本文由纯净天空筛选整理自rupesh_rao大神的英文原创作品 forward_list merge() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。