C++ 2集合中的前向列表(操作函数)

C++ 1中的前向表(介绍和重要函数)

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
喜欢就支持一下吧
点赞7 分享