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. JAVA设计模式之访问者模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述访问者(Visitor)模式的: 访问者模式是对象的行为模式.访问者模式的目的是封装一些施加于某种数据结构元素之上的操作.一旦这些操作需要 ...

  2. Spark JdbcRDD 简单使用

    package org.apache.spark.sql.sources import org.apache.spark.SparkContext import java.sql.{ResultSet ...

  3. Spring mvc 配置详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  4. Lighttpd虚拟主机和多域名的配置

    lighttpd是个轻巧的web服务器组件,在linux系统上较为流行,功能能满足一般网站的需求(虚拟主机,伪静态,防盗链等),而跑起来负载却低于apache. 一般网站地址的形式为www.xxx.c ...

  5. 【Linux】依赖包检查

    参考:http://www.cnblogs.com/zc22/p/3197038.html ldd xx.so

  6. 深入理解JS异步编程四(HTML5 Web Worker)

    >Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面. 一:如何使用Worker We ...

  7. apache-jmeter学习文档

    http://www.cnblogs.com/TankXiao/p/4045439.html#sampler

  8. Hadoop HDFS编程 API入门系列之合并小文件到HDFS(三)

    不多说,直接上代码.  代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs7; import java.io.IOException;import ja ...

  9. Reactjs 入门基础(二)

    如果我们需要向组件传递参数,可以使用 this.props 对象,实例如下: <body> <div id="example"></div> & ...

  10. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...