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

  • Mastering C++ Programming
  • Jeganathan Swaminathan
  • 228字
  • 2021-07-02 18:28:51

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.

主站蜘蛛池模板: 炉霍县| 绥滨县| 壶关县| 临武县| 仙居县| 新营市| 沈丘县| 重庆市| 西乌珠穆沁旗| 昌黎县| 梁山县| 肇庆市| 盈江县| 安平县| 石家庄市| 娱乐| 闸北区| 上蔡县| 汕头市| 麻江县| 府谷县| 太白县| 滨海县| 乐亭县| 香格里拉县| 洱源县| 新郑市| 寻乌县| 时尚| 贺州市| 桑日县| 淮阳县| 收藏| 玉林市| 开平市| 固安县| 翁源县| 泰和县| 镇远县| 本溪市| 辉县市|