set
1.insert() 插入元素
2.erase() 删除
3.size() 元素数量
4.max_size() 最大元素数量
5.upper_bound() 大于某数的第一个元素
6.lower_bound() 大于等于某数的第一个元素
7.begin() 返回set第一个元素的迭代器
8.end() 返回一个指向当前set末尾元素的下一位置的迭代器.
9.clear() 删除set容器中的所有的元素
10.empty() 判断set容器是否为空
11.rbegin() 返回的值和end()相同
12.rend() 返回的值和begin()相同
1 //set 2 /* 3 1.set元素都是排好序的 4 2.set内没有重复的元素 5 */ 6 #include<iostream> 7 #include<cstdio> 8 #include<set> 9 using namespace std; 10 set<int> s;//set内可以定义多种类型 11 12 void print(){ 13 for(set<int>::iterator it = s.begin(); it != s.end();it++) 14 cout<<*it<<' '; 15 cout<<endl; 16 } 17 18 int main(){ 19 20 21 ////insert插入元素 22 int n = 10; 23 for(int i=0;i<=n;i++)s.insert(i); 24 print();//结果是“0 1 2 3 4 5 6 7 8 9 10 ” 25 //倒输 26 for(int i=n;i>=0;i--) s.insert(i); 27 print();//结果仍然是“0 1 2 3 4 5 6 7 8 9 10”(有顺序,互异性) 28 29 30 ////erase删除元素 31 for(int i=3;i<=5;i++) s.erase(i); 32 print();//"0 1 2 6 7 8 9 10"√:推荐使用 33 //或者 34 s.erase(s.find(7),s.find(9));//删除[7,9)左闭右开 35 print();// “0 1 2 6 9 10” 36 37 38 //// size求元素数量 39 cout<<"元素数量:"<<s.size()<<endl;//" 6 " 40 41 42 ////max_set返回可能包含的最大个数 43 cout<<"容器包含元素的最大个数:"<<s.max_size()<<endl; 44 45 46 ////upper_bound第一个大于 47 ////lower_buond第一个大于等于 48 cout<<">6 : "<<*s.upper_bound(6)<<endl;//" 9 " 49 cout<<">=6 : "<<*s.lower_bound(6)<<endl; //" 6 " 50 51 52 ////begin 53 cout<<"第一个数:"<<*s.begin()<<endl ; 54 55 56 ////end 57 58 cout<<"最后一个元素:"<<*s.end()<<endl; 59 //这里需要注意,返回的是最后一个元素下一个位置 60 //找倒数第二个元素需要减两次 61 //栗子 62 set<int> :: iterator it=s.end(); 63 cout<<"还是最后一个元素:"<<*(--it)<<endl; 64 65 66 67 return 0; 68 }