官术网_书友最值得收藏!

Commonly used APIs in a forward_list container

The following table shows the commonly used forward_list APIs:

 

Let's explore one more example to get a firm understanding of the forward_list container:

#include <iostream>
#include <forward_list>
#include <iterator>
#include <algorithm>
using namespace std;

int main () {

forward_list<int> list1 = { 10, 20, 10, 45, 45, 50, 25 };
forward_list<int> list2 = { 20, 35, 27, 15, 100, 85, 12, 15 };

cout << "\nFirst list before sorting ..." << endl;
copy ( list1.begin(), list1.end(), ostream_iterator<int>(cout, "\t") );
cout << endl;

cout << "\nSecond list before sorting ..." << endl;
copy ( list2.begin(), list2.end(), ostream_iterator<int>(cout, "\t") );
cout << endl;

list1.sort();
list2.sort();

cout << "\nFirst list after sorting ..." << endl;
copy ( list1.begin(), list1.end(), ostream_iterator<int>(cout, "\t") );
cout << endl;

cout << "\nSecond list after sorting ..." << endl;
copy ( list2.begin(), list2.end(), ostream_iterator<int>(cout, "\t") );
cout << endl;


list1.merge ( list2 );

cout << "\nMerged list ..." << endl;
copy ( list1.begin(), list1.end(), ostream_iterator<int>(cout, "\t") );

cout << "\nMerged list after removing duplicates ..." << endl;
list1.unique();
copy ( list1.begin(), list1.end(), ostream_iterator<int>(cout, "\t") );

return 0;
}

The preceding code snippet is an interesting example that demonstrates the practical use of the sort(), merge(), and unique() STL algorithms.

The output can be viewed with the following command:

./a.out

The output of the program is as follows:

First list before sorting ...
10 20 10 45 45 50 25
Second list before sorting ...
20 35 27 15 100 85 12 15

First list after sorting ...
10 10 20 25 45 45 50
Second list after sorting ...
12 15 15 20 27 35 85 100

Merged list ...
10 10 12 15 15 20 20 25 27 35 45 45 50 85 100
Merged list after removing duplicates ...
10 12 15 20 25 27 35 45 50 85 100

The output and the program are pretty self-explanatory.

主站蜘蛛池模板: 固原市| 南澳县| 彰武县| 库车县| 安溪县| 绵阳市| 汉源县| 尉氏县| 新安县| 无极县| 雅江县| 县级市| 壤塘县| 张家口市| 井冈山市| 志丹县| 蒲城县| 陆川县| 平阴县| 遂川县| 汕头市| 亚东县| 湖南省| 吴旗县| 根河市| 万州区| 巨鹿县| 屏东市| 东丽区| 齐河县| 余庆县| 新巴尔虎左旗| 仁怀市| 仲巴县| 剑阁县| 唐山市| 延长县| 许昌县| 西峡县| 武清区| 巴彦淖尔市|