c++ hashset的用法_c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
c++ stl集合set介绍
c++ stl集合(Set)是一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。
1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素
2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,元素值是常数
3) 元素比较动作只能用于型别相同的容器(即元素和排序准则必须相同)
set模板原型://Key为元素(键值)类型
1
template ,class Alloc=STL_DEFAULT_ALLOCATOR(Key) >
从原型可以看出,可以看出比较函数对象及内存分配器采用的是默认参数,因此如果未指定,它们将采用系统默认方式。
set的各成员函数列表如下:
c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器
c++ stl容器set成员函数:clear()--清除所有元素
c++ stl容器set成员函数:count()--返回某个值元素的个数
c++ stl容器set成员函数:empty()--如果集合为空,返回true
c++ stl容器set成员函数:end()--返回指向最后一个元素的迭代器
c++ stl容器set成员函数:equal_range()--返回集合中与给定值相等的上下限的两个迭代器
c++ stl容器set成员函数:erase()--删除集合中的元素
c++ stl容器set成员函数:find()--返回一个指向被查找到元素的迭代器
c++ stl容器set成员函数:get_allocator()--返回集合的分配器
c++ stl容器set成员函数:insert()--在集合中插入元素
c++ stl容器set成员函数:lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器
c++ stl容器set成员函数:key_comp()--返回一个用于元素间值比较的函数
c++ stl容器set成员函数:max_size()--返回集合能容纳的元素的最大限值
c++ stl容器set成员函数:rbegin()--返回指向集合中最后一个元素的反向迭代器
c++ stl容器set成员函数:rend()--返回指向集合中第一个元素的反向迭代器
c++ stl容器set成员函数:size()--集合中元素的数目
c++ stl容器set成员函数:swap()--交换两个集合变量
c++ stl容器set成员函数:upper_bound()--返回大于某个值元素的迭代器
c++ stl容器set成员函数:value_comp()--返回一个用于比较元素间的值的函数
c++ stl集合set插入,遍历用法举例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include
#include
using namespace std;
//set插入元素操作
int main()
{
//定义一个int型集合对象s,当前没有任何元素.由www.169it.com搜集整理
set s;
s.insert(8);//第一次插入8,可以插入
s.insert(1);
s.insert(12);
s.insert(6);
s.insert(8);//第二次插入8,重复元素,不会插入
set::iterator it;//定义前向迭代器
//中序遍历集合中的所有元素
for(it=s.begin();it!=s.end();it++)
cout<
system("pause");
return 0;
}
MFC——4个基本类中的成员函数介绍
09121852 杜军 机械设计及理论 1. CMainFrame ActivateFrame使框架对用户可视并可用 CalcWindowRect每当主框架窗口的客户区尺寸发生变化或控制条的位置发生变 ...
STL容器的reserve()函数和resize()函数解析
以vector为例,我们都知道可以用reserve()和resize()函数来为容器预留空间或者调整它的大小. 不过从它俩的名字上可以看出区别: reserve():serve是"保留&qu ...
set--常见成员函数及基本用法
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器. set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. ...
C++ STL中vector(向量容器)使用简单介绍
原文:http://www.seacha.com/article.php/knowledge/cbase/2013/0903/2205.html C++ vector(向量容器)是一个线性顺序结构.相 ...
STL区间成员函数及区间算法总结
STL区间成员函数及区间算法总结 在这里总结下可替代循环的区间成员函数和区间算法: 相比单元素遍历操作,使用区间成员函数的优势在于: 1)更少的函数调用 2)更少的元素移动 3)更少的内存分配 在区间 ...
STL进阶--成员函数 vs 算法
容器的成员函数 vs 算法 容器中同名的函数 List: void remove(const T); template void remove_if(Comp); ...
C++ STL容器——stack用法介绍
stack是一种容器适配器,专门设计用于在LIFO上下文中操作(后进先出),其中元素仅从容器的一端插入和删除. 容器适配器,而不是一种容器. 它是容器适配器是指,只要支持一系列方法的容器(empty, ...
STL容器 erase的使用陷井
http://www.cppblog.com/beautykingdom/archive/2008/07/09/55760.aspx?opt=admin 在STL(标准模板库)中经常会碰到要删除容器中 ...
STL容器是否是线程安全的
转载http://blog.csdn.net/zdl1016/article/details/5941330 STL的线程安全. 说一些关于stl容器的线程安全相关的话题. 一般说来,stl对于多线程 ...
随机推荐
coredata中谓词的使用
Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数.在cocoa ...
转载:做Java开发这一年 (火龙果软件)
转载:http://www.uml.org.cn/success/201410205.asp 从去年到现在,从.NET转向Java开发(只是因为项目原因,绝对与平台好坏没有关系)差不多有一年的时间了. ...
【python学习笔记】9.魔法方法、属性和迭代器
[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...
js保留两位小数数字
/* * @descript: 保留两位小数,如果小数点大于两位小数,就向上取值保留两位小数
* @time 2016-07-13 */function mathCeil(num ...
codeforces1101D GCD Counting 【树形DP】
题目分析: 蛮简单的一道题,对于每个数拆质因子,对于每个质因子找出最长链,在每个地方枚举一下拼接 代码: #include using namespace s ...
错误票据|2013年蓝桥杯B组题解析第七题-fishers
错误票据 某涉密单位下发了某种票据,并要在年终全部收回. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号. 你的任务是通过编程,找出断号的ID和重号的ID. ...
Zabbix使用微信发送告警(附Python代码)
介绍 本文将介绍如何把zabbix告警接入到微信,通过微信企业号将告警信息发送到运维人员的微信上.本文适合于已经实现了邮件告警的小伙伴,因为需要在已经能实现告警的基础上进行,如果还不知道如何配置zab ...
cf213E 线段树维护hash
链接 https://codeforces.com/contest/213/problem/E 题目大意 给出两个排列a.b,长度分别为n.m,你需要计算有多少个x,使 得\(a_1 + x; a_2 ...
js获取当前日期,并计算几天后日期
获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS” function getNowFormatDate() { var date = new Date(); var seperator ...
c++ hashset的用法_c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例相关推荐
- Map集合及遍历 debug用法 以及集合的斗地主应用练习 D190326
Map集合及遍历 debug用法 以及集合的斗地主应用练习 第一个独立应用:斗地主,分步骤一点点把项目拆分每一步去完成. 01_第一章:回顾_三种集合的存储方式: 02_第一章:Map集合_常用方法: ...
- 用法 stl_C++STL 容器篇
前言 上一章节主要是详细介绍了C++泛型编程基础,不清楚的可以回顾一下哦.本章节主要针对于C++STL(标准模板类库)做个详细介绍.标准模板类库也就是别人写的模板类,主要内容是各种数据结构的封装,以及 ...
- 17.容器的成员函数优先于同名的算法
有些STL 容器提供了一些与算法同名的成员函数.大多数情况下,应该使用这些成员函数,而不是相应的STL算法. 有两个理由: 成员函数往往速度快. 成员函数通常与容器结合地更紧密,这是算法所不能比的. ...
- c++关联容器的成员函数find的一个例子
先来一个灰色难懂的部分镇楼. #include <string> #include <iostream> #include <list> #include < ...
- auto与迭代器的用法_C++ STL move_iterator移动迭代器用法详解
C++ 11 还为 STL 标准库增添了一种迭代器适配器,即本节要讲的 move_iterator 移动迭代器适配器. move_iterator 迭代器适配器,又可简称为移动迭代器,其可以实现以移动 ...
- C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——遍历和查找(精简易懂版,句句干货)
遍历 从前往后 性能最差的是map.multimap.set和multiset这两簇. 其他容器性能差距不大. 从后往前 支持从后向前遍历的容器并不多,只有:vector.deque.list.set ...
- C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——删除(精简易懂版,句句干货)
删除 头部删除 vector性能是最差的 ,set和map的性能次之. deque和forward_list性能是最优的.(差距不是十分明显) 中间删除 vector的性能最差, 效率最好的是list ...
- C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——插入(精简易懂版,句句干货)
文中将测试vector.list.forward_list.deque.set(multiset).unordered_set(unordered_multiset).map(multimap)和un ...
- python replace函数用法_C string.replace()字符替换函数的用法
C replace()函数返回string 能放的最大元素个数.(不同于capacity) size _ type max _ size( ) const; basic_string ::size_t ...
最新文章
- Java正则表达式应用
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板定义
- python 常用PEP8规范
- Winform中实现设置ZedGraph的GraphPane的大小匹配ZedGraphControl
- linux命令使用示例:查看某目录属于哪个分区
- var和dynamic的区别及如何正确使用dynamic?
- 6年Java程序员年薪60W,这些年我都爬过哪些坑(2021年终总结)
- CentOS 7 安装并启动Nginx
- c语言位运算八进制转二进制,C语言十进制转换二进制八,十六进制。二进制转十进制。...
- Vue数据更新数据不渲染问题 - 资源篇
- maven命令上传jar、pom到Nexus
- 向量化回测系列2——全市场股票回测
- 如何用计算机弹出斗地主的声音,电脑为什么只有斗地主的时候有声音?
- windows中动态磁盘卷种类介绍
- 根据经纬度获取地址(逆地址解析)
- 利用pygame实现大鱼吃小鱼游戏
- 操作系统实验一 添加内核模块
- java外文资料_java外文文献(毕业设计).doc
- 股票量化分析工具QTYX使用攻略——箱体形态突破选股v2.5.3
- c语言程序编译与烧录,一种解释自定义脚本并烧录的方法与流程
热门文章
- Kubemetes网络插件cni
- 【路径规划】RRT(Rapidly-exploring Random Trees)算法
- 这个“安装 OS X Yosemite”应用程序副本不能验证
- 学生HTML个人网页作业作品----(画家企业8页)
- 基于THREEJS场景中模型局部辉光效果
- 怎样将网页保存为html,如何将网页保存为书签
- 平行四边形法则的感悟
- eclipse web项目启动后不自动打开浏览器,谷歌了一下终于找到设置了
- 信息技术自主创新的分级模型
- java程序框图 质数_判断质数的程序框图和算法