null
本文将讨论更多函数
除插入和删除外,可在转发列表中使用的一些操作如下:
1. 合并() :-此函数用于将一个转发列表与另一个转发列表合并。如果两个列表都已排序,则返回的结果列表也将被排序。
2. 运算符“=” :-此操作员将一个转发列表复制到另一个转发列表。这种情况下的复制是深度复制。
// C++ code to demonstrate the working of // merge() and operator= #include<iostream> #include<forward_list> using namespace std; int main() { // Initializing 1st forward list forward_list< int > flist1 = {1, 2, 3}; // Declaring 2nd forward list forward_list< int > flist2; // Creating deep copy using "=" flist2 = flist1; // Displaying flist2 cout << "The contents of 2nd forward list" " after copy are : " ; for ( int &x : flist2) cout << x << " " ; cout << endl; // Using merge() to merge both list in 1 flist1.merge(flist2); // Displaying merged forward list // Prints sorted list cout << "The contents of forward list " "after merge are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; return 0; } |
输出:
The contents of 2nd forward list after copy are : 1 2 3 The contents of forward list after merge are : 1 1 2 2 3 3
3. 排序() :-此函数用于对转发列表进行排序。
4. 独特的 :-此函数删除数字的多次出现,并返回具有唯一元素的转发列表。应该对转发列表进行排序,才能成功执行此函数。
// C++ code to demonstrate the working of // sort() and unique() #include<iostream> #include<forward_list> // for sort() and unique() using namespace std; int main() { // Initializing 1st forward list forward_list< int > flist1 = {1, 2, 3, 2, 3, 3, 1}; // Sorting the forward list using sort() flist1.sort(); // Displaying sorted forward list cout << "The contents of forward list after " "sorting are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; // Use of unique() to remove repeated occurrences flist1.unique(); // Displaying forward list after using unique() cout << "The contents of forward list after " "unique operation are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; return 0; } |
输出:
The contents of forward list after sorting are : 1 1 2 2 3 3 3 The contents of forward list after unique operation are : 1 2 3
5. 反向 :-此功能用于反转转发列表。
6. 互换 :-此函数将一个转发列表的内容与另一个交换。
// C++ code to demonstrate the working of // reverse() and swap() #include<iostream> #include<forward_list> // for reverse() and swap() using namespace std; int main() { // Initializing 1st forward list forward_list< int > flist1 = {1, 2, 3,}; // Initializing 2nd forward list forward_list< int > flist2 = {4, 5, 6}; // Using reverse() to reverse 1st forward list flist1.reverse(); // Displaying reversed forward list cout << "The contents of forward list after" " reversing are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl << endl; // Displaying forward list before swapping cout << "The contents of 1st forward list " "before swapping are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; cout << "The contents of 2nd forward list " "before swapping are : " ; for ( int &x : flist2) cout << x << " " ; cout << endl; // Use of swap() to swap the list flist1.swap(flist2); // Displaying forward list after swapping cout << "The contents of 1st forward list " "after swapping are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; cout << "The contents of 2nd forward list " "after swapping are : " ; for ( int &x : flist2) cout << x << " " ; cout << endl; return 0; } |
输出:
The contents of forward list after reversing are : 3 2 1 The contents of 1st forward list before swapping are : 3 2 1 The contents of 2nd forward list before swapping are : 4 5 6 The contents of 1st forward list after swapping are : 4 5 6 The contents of 2nd forward list after swapping are : 3 2 1
7. 清除() :-此函数用于清除转发列表的内容。完成此功能后,转发列表变为空。
8. 空的() :-如果列表为空,则此函数返回true,否则返回false。
// C++ code to demonstrate the working of // clear() and empty() #include<iostream> #include<forward_list> // for clear() and empty() using namespace std; int main() { // Initializing forward list forward_list< int > flist1 = {1, 2, 3,}; // Displaying forward list before clearing cout << "The contents of forward list are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; // Using clear() to clear the forward list flist1.clear(); // Displaying list after clear() performed cout << "The contents of forward list after " << "clearing are : " ; for ( int &x : flist1) cout << x << " " ; cout << endl; // Checking if list is empty flist1.empty() ? cout << "Forward list is empty" : cout << "Forward list is not empty" ; return 0; } |
输出:
The contents of forward list are : 1 2 3 The contents of forward list after clearing are : Forward list is empty
本文由 曼吉星 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END