STL中的set和multiset

注意:
1、count() 常用来判断set中某元素是否存在,因为一个键值在set只可能出现0或1次。
2、erase()用法
erase(iterator) ,删除定位器iterator指向的值
erase(first,second),删除定位器first和second之间的值
erase(key_value),删除键值key_value的值
3、set具有自动去重的功能。
二、set对象定义和初始化
set<T> s;
set<T> s(s1);
set<T> s(b, e); 注意:其中,b和e分别为迭代器的开始和结束的标记。
例如:
int main(){
          vector<int> v;
          for (int i = 0; i < 10; i++){
                  v.push_back(i);
          }
  set<int> s(v.begin(), v.end()); // 注意key不能重复
          printf("%d\n", v.size());
          printf("%d\n", s.size());
          return 0;
}
三、set和map的区别
set支持大部分的map的操作,但是set不支持下标的操作,而且没有定义mapped_type类型。
STL中的set和multiset的更多相关文章
- c++ STL中的set和multiset
		
1.结构 set和multiset会根据特定的排序原则将元素排序.两者不同之处在于,multisets允许元素重复,而set不允许重复. set中的元素可以是任意类型的,但是由于需要排序,所以元素必须 ...
 - STL中的set容器的一点总结
		
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...
 - 【转】 STL中的set容器的一点总结
		
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...
 - (转)STL中set的用法
		
转载自here 1.关于set map容器是键-值对的集合,好比以人名为键的地址和电话号码.相反地,set容器只是单纯的键的集合.例如,某公司可能定义了一个名为bad_checks的set容器,用于记 ...
 - STL vector+sort排序和multiset/multimap排序比较
		
由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...
 - STL中的set容器的一点总结(转)
		
STL中的set容器的一点总结 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂 ...
 - STL中关于map和set的四个问题?
		
STL map和set的使用虽不复杂,但也有一些不易理解的地方,如: 为何map和set的插入删除效率比用其他序列容器高? 或许有得人能回答出来大概原因,但要彻底明白,还需要了解STL的底层数据结构. ...
 - STL中的set使用方法详细!!!!
		
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...
 - STL 中 使用迭代器删除元素的问题
		
在vector中删除,大家都知道,直接erase的话,这种写法很有问题.因为erase(iter)之后iter指针就变成野指针了,此时继续iter++就会出问题. for(auto iter = v. ...
 
随机推荐
- React-Router4 按需加载的4种实现
			
其实几种实现都是近似的,但具体上不太一样,其中有些不需要用到bundle-loader 第一种:ReactTraining/react-router 介绍的基于 webpack, babel-plug ...
 - Maven 私服你应该不陌生吧,可你会用 Artifactory 搭建吗?
			
JFrog Artifactory 是一个 Artifacts 仓库管理平台,它支持所有的主流打包格式.构建工具和持续集成(CI)服务器.它将所有二进制内容保存在一个单一位置并提供一个接口,这使得用户 ...
 - 【遗传编程/基因规划】Genetic Programming
			
目录 背景介绍 程序表示 初始化 (Initialization) Depth定义 Grow方法 Full方法 Ramped half-and-half方法 适应度(Fitness)与选择(Selec ...
 - FTP上传 -首先上传文件到的那台电脑得安装ftp
			
/*↓↓↓↓ add upload ftp file 2014-03-16*/ /*↓↓↓↓ add 2014-03-16 ftp upload file*/ var $ftpse ...
 - CF838A
			
题目链接:http://codeforces.com/contest/838/problem/A 知识点: (void) 题目大意: 给一个 \(n \times m\) 的 01 矩阵,对于矩阵在 ...
 - CF861D
			
题目链接:http://codeforces.com/contest/861/problem/D 解题思路: 优雅的暴力. 对于输入的每一个号码,从短到长找出它的所有子串,用 vector 保存每个号 ...
 - 基于java的雷电游戏
			
基于java的雷电游戏基本功能包括:敌方飞机随机飞行.我方飞机手动控制飞行,射击比拼,游戏闯关等.本系统结构如下: (1)雷电游戏状态调整功能: 在游戏启动时,游戏会自动进行初始化的验证. 若初始化成 ...
 - Web-Security-Learning
			
Web Security sql注入 MySql MySQL False 注入及技巧总结 MySQL 注入攻击与防御 sql注入学习总结 SQL注入防御与绕过的几种姿势 MySQL偏门技巧 mysql ...
 - 【python爬虫】scrapy入门6-生成多个spider
			
一个工程生产一个spider,也可以多个spider,比如一个爬文本,一个爬图片等 cd tutorial #自己创建的工程目录 scrapy genspider test1 test1.com sc ...
 - .Net Core实现区块链初探
			
区块链这么火,咱也跟个风. 一.前言 最近,银行总行关于数字货币即将推出的消息频传,把BTC也带得来了一波反弹. 借着这个风,我们也研究一下区块链. 通常大家说到区块链,实际包括两部分概念: ...