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;

具体看博客

  https://blog.csdn.net/Septembre_/article/details/81182050

posted @ 2018-07-24 15:05  ~~zcy  阅读(301)  评论(0编辑  收藏  举报