forward_list merge() in C++ STL
forward_list::merge() is an inbuilt function in C++ STL which merges two sorted forward_lists into one.
The merge() function can be used in two ways:
- Merge two forward lists that are sorted in ascending order into one.
- Merge two forward lists into one using a comparison function.
Syntax:
forwardlist_name1.merge(forward_list& forwardlist_name2)
or
forwardlist_name1.merge(forward_list& forwardlist_name2, Compare comp)
Parameters: The function accepts two parameters which are specified as below:
- forwardlist_name2 – Another forward list of the same type which is to be merged
- comp – A comparison function which should return true or false.
Return value: The function does not return anything.
Below programs illustrate the above function:
Program 1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
forward_list< int > fl1 = { 12, 25, 31, 41 };
forward_list< int > fl2 = { 10, 20, 30 };
fl1.merge(fl2);
cout << "List contains following elements" << endl;
for ( auto it = fl1.begin(); it != fl1.end(); ++it)
cout << *it << " " ;
return 0;
}
|
Output:
List contains following elements
10 12 20 25 30 31 41
Program 2:
#include <bits/stdc++.h>
using namespace std;
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 };
fl1.merge(fl2, cmp_fun);
cout << "List contains following elements" << endl;
for ( auto it = fl1.begin(); it != fl1.end(); ++it)
cout << *it << " " ;
return 0;
}
|
Output:
List contains following elements
41 31 30 25 20 12 10
Last Updated :
31 Aug, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...