常用方法
set
1.工具->编译选项->程序->g++:g++.exe 改为:g++ -std=c++11就可以使用auto了。
set集合是c++ stl库中自带的一个容器,set具有以下两个特点:
1、set中的元素都是排好序的
2、set集合中没有重复的元素
常用操作:
begin() 返回set容器的第一个元素的地址
end() 返回set容器的最后一个元素地址
clear() 删除set容器中的所有的元素
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
erase(it) 删除迭代器指针it处元素
insert(a) 插入某个元素
count(a) 找到a元素就返回1,没找到就返回0
set<int>::iterator it; 可不用修改编译器选项#include <iostream>#include <set>using namespace std;int main(){set<int> s;s.insert(5);s.insert(4);s.insert(3);s.insert(-2);cout << s.size() <<endl;if(s.count(5)==0)cout<<"not Find 5"<<endl;elsecout<<"find 5"<<endl;s.erase(5); // 删除5元素 if(s.count(5)==0)cout<<"nof Find 5"<<endl;elsecout<<"find 5"<<endl;cout << s.size() <<endl;// 它是顺序排列的。 for(auto it=s.begin();it != s.end();it++){cout<<*it<<' ';}cout<<endl;return 0;}
迭代器
for (auto &it: setname)cout<<it<<endl;或者for(auto it=setname.begin();cout<<(*it)<<endl;
插入方法
关于upper_bound()与lower_bound()
upper_bound() :
iterator upper_bound( const key_type &key );
在当前多元集合中返回一个指向大于Key值的元素的迭代器。
从数组begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,可以找到数字在容器中的下标。
lower_bound() :
iterator lower_bound( const key_type &key );
返回一个指向大于或者等于key值的第一个元素的迭代器。
从数组begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
//此处语法参考 /qq_40160605/article/details/80150252