STL set

写在前面:STL大法好!

容器set,可以实现排序,插入元素不能重复(所以可能插入失败

接下来我们看一下set的基本用法

begin()        返回set容器的第一个元素的地址

end()      返回set容器的最后一个元素地址

clear()          删除set容器中的所有的元素

empty()     判断set容器是否为空

max_size()     返回set容器可能包含的元素最大个数

size()      返回当前set容器中的元素个数

erase()             删除迭代器指针it处元素

 1 #include <iostream>
 2 #include <set>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     set<int> s;//定义类型啊!
 9     s.insert(1);
10     s.insert(2);
11     s.insert(3);
12     s.insert(1);
13     cout<<"set 的 size 值为 :"<<s.size()<<endl;
14     cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;
15     cout<<"set 中的第一个元素是 :"<<*s.begin()<<endl;
16     cout<<"set 中的最后一个元素是:"<<*s.end()<<endl;
17     s.clear();
18     if(s.empty())
19     {
20         cout<<"set 为空 !!!"<<endl;
21     }
22     cout<<"set 的 size 值为 :"<<s.size()<<endl;
23     cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;
24     return 0;
25 }

再说遍历

迭代器嗯对.

 1 #include <iostream>
 2 #include<set>
 3 using namespace std;
 4 
 5 
 6 int main()
 7 {
 8     set<int> s;                //创建一个int类型的set
 9  
10     s.insert(10);                //插入数据
11     s.insert(30);
12     s.insert(20);
13     s.insert(40);                
14 
15     //遍历数据,用迭代器遍历数据
16     for (set<int>::iterator it = s.begin(); it != s.end(); ++it)    
17     {
18         cout << *it << endl;
19     }
20     //这里用到了set中的元素已经从小到大排好序的性质
21     
22     return 0;
23 }
原文地址:https://www.cnblogs.com/zhmlzhml/p/12507408.html