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

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.

主站蜘蛛池模板: 张家口市| 大冶市| 上林县| 咸宁市| 拉孜县| 陆丰市| 嘉黎县| 临猗县| 淮滨县| 炉霍县| 新疆| 玉溪市| 敖汉旗| 满洲里市| 龙江县| 常熟市| 鄯善县| 鹤庆县| 泾源县| 潮安县| 奉新县| 土默特左旗| 阿尔山市| 鄂托克前旗| 中超| 喜德县| 桂东县| 黄浦区| 台中县| 仁怀市| 依安县| 四子王旗| 玉林市| 高雄县| 安泽县| 淄博市| 洛南县| 乐清市| 岚皋县| 芜湖市| 蕲春县|