map set 详解
首先看 set
头文件#include <set>
set<int> s;
s.begin() ,返回set容器的第一个元素
s.end() ,返回set容器的最后一个元素
s.clear() ,删除set容器中的所有的元素
s.empty() ,判断set容器是否为空
s.max_size() ,返回set容器可能包含的元素最大个数
s.size() ,返回当前set容器中的元素个数
s.rbegin ,返回的值和end()相同
s.rend() ,返回的值和rbegin()相同
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> s;
s.insert(1);
s.insert(2);
s.insert(3);
s.insert(1);
cout<<"set 的 size 值为 :"<<s.size()<<endl;
cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;
cout<<"set 中的第一个元素是 :"<<*s.begin()<<endl;
cout<<"set 中的最后一个元素是:"<<*s.end()<<endl;
s.clear();
if(s.empty())
{
cout<<"set 为空 !!!"<<endl;
}
cout<<"set 的 size 值为 :"<<s.size()<<endl
运行结果:
set 的size 值为:3
set的maxsize的值为: 461168601842738790
set的第一个元素为:1
set的最后一个元素为:3
set为空!!
set的size值为:0
set的maxsize的值为: 461168601842738790
注意:插入3之后虽然插入了一个1,但是我们发现set中最后一个值仍然是3哈,这就是set (去重用)。还要注意begin() 和 end()函数是不检查set是否为空的,使用前最好使用empty()检验一下set是否为空.
if(s.find(1)==s.end()) //没有1
puts("not found!");
else
puts("found");
迭带器 set<int>::iterator iter;
if((iter = s.find(2)) != s.end())
{
cout<<*iter<<endl;
}
map
头文件#include <map>
map <int> s;
具体看博客