C++ set使用

实际上c++ STL中的set是的实现和C++ STL中的map的实现的底层数据结构是一样的,如果我们不在考虑红黑树中的卫星数据,而只是关键字,那么同样不允许key值得重复,那么就变成了set的实现。

下面介绍set的使用方法。

一、构造函数

vector<int> v;
for(int i=;i<;i++){
v.push_back(i);
} set<int> s(v.begin(),v.end());

使用上面的代码,将v容器中的数据copy到了s中

二、insert

可以插入单个键值,也可以插入一个容器

set<int> s;
s.insert(v.begin(),v.end());

三、读数据

这里和map的思路是一样的,在读之前需要判断是否存在

同样是find和count两种方法,这里的用法适合map一样的。

参考文献:

《C++ primer》

随机推荐

  1. 57. Jump Game && Jump Game II

    Jump Game Given an array of non-negative integers, you are initially positioned at the first index o ...

  2. VBS编辑字段

    '为已经创建好的数据表添加字段'参数:strDBPath 字符串型 数据库路径'参数:strTableName 字符串型 需要创建的数据表的名称'参数:strColumnName 字符串型 需要添加的 ...

  3. App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.-解决办法

    运行环境:Xcode Version 7.3.1 (7D1014) 使用NSURL进行数据请求数据代码: -(NSData *)requestData{ NSURL *url = [NSURL URL ...

  4. Reprot中的五个Trigger说明

    Report Trigger 1.1 Which report trigger to use As a general rule, any processing that will affect th ...

  5. Eclipse/MyEclipse怎么设置个性化代码注释模板

    1.打开Eclipse/MyEclipse工具,打开或创建一个Java工程,点击菜单Window->Preferences弹出首选项设置窗口 2.展开左侧Java->Code Style- ...

  6. 32、shiro框架入门3.授权

    一. 授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等).在授权中需了解的几个关键对象:主体(Subject).资源(Resource).权限(Permission ...

  7. IDEA 用了maven后的 智能提示 不出现问题,项目的依赖包没有加载依赖库中的问题。

  8. 关于生物信息学与R的相关资料和网站

    生物信息学的相关论坛:http://www.omicshare.com/forum/ 糗世界:http://qiubio.com:8080/ 统计之都网站 绘制QQ图和曼哈顿图:http://www. ...

  9. DOS批量递归删除文件夹

    @echo off for /d /r E:\test01\ %%i in (test) do rd /s /q "%%i" pause

  10. Android消息推送——JPush极光推送

    刚看了一篇关于Android消息推送评测总结的博客http://www.cnblogs.com/logan/p/4514635.html: 自己也对原学过的JPush极光进行一下小结,方便后续工作使用 ...