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&lpar;&rpar;函数和resize&lpar;&rpar;函数解析

以vector为例,我们都知道可以用reserve()和resize()函数来为容器预留空间或者调整它的大小. 不过从它俩的名字上可以看出区别: reserve():serve是"保留&qu ...

set--常见成员函数及基本用法

c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器. set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. ...

C&plus;&plus; 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&plus;&plus; 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 ...

转载&colon;做Java开发这一年 (火龙果软件)

转载:http://www.uml.org.cn/success/201410205.asp 从去年到现在,从.NET转向Java开发(只是因为项目原因,绝对与平台好坏没有关系)差不多有一年的时间了. ...

【python学习笔记】9&period;魔法方法、属性和迭代器

[python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

js保留两位小数数字

/* * @descript: 保留两位小数,如果小数点大于两位小数,就向上取值保留两位小数
 * @time 2016-07-13 */function mathCeil(num ...

codeforces1101D GCD Counting 【树形DP】

题目分析: 蛮简单的一道题,对于每个数拆质因子,对于每个质因子找出最长链,在每个地方枚举一下拼接 代码: #include using namespace s ...

错误票据&vert;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集合插入,遍历等用法举例相关推荐

  1. Map集合及遍历 debug用法 以及集合的斗地主应用练习 D190326

    Map集合及遍历 debug用法 以及集合的斗地主应用练习 第一个独立应用:斗地主,分步骤一点点把项目拆分每一步去完成. 01_第一章:回顾_三种集合的存储方式: 02_第一章:Map集合_常用方法: ...

  2. 用法 stl_C++STL 容器篇

    前言 上一章节主要是详细介绍了C++泛型编程基础,不清楚的可以回顾一下哦.本章节主要针对于C++STL(标准模板类库)做个详细介绍.标准模板类库也就是别人写的模板类,主要内容是各种数据结构的封装,以及 ...

  3. 17.容器的成员函数优先于同名的算法

    有些STL 容器提供了一些与算法同名的成员函数.大多数情况下,应该使用这些成员函数,而不是相应的STL算法. 有两个理由: 成员函数往往速度快. 成员函数通常与容器结合地更紧密,这是算法所不能比的. ...

  4. c++关联容器的成员函数find的一个例子

    先来一个灰色难懂的部分镇楼. #include <string> #include <iostream> #include <list> #include < ...

  5. auto与迭代器的用法_C++ STL move_iterator移动迭代器用法详解

    C++ 11 还为 STL 标准库增添了一种迭代器适配器,即本节要讲的 move_iterator 移动迭代器适配器. move_iterator 迭代器适配器,又可简称为移动迭代器,其可以实现以移动 ...

  6. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——遍历和查找(精简易懂版,句句干货)

    遍历 从前往后 性能最差的是map.multimap.set和multiset这两簇. 其他容器性能差距不大. 从后往前 支持从后向前遍历的容器并不多,只有:vector.deque.list.set ...

  7. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——删除(精简易懂版,句句干货)

    删除 头部删除 vector性能是最差的 ,set和map的性能次之. deque和forward_list性能是最优的.(差距不是十分明显) 中间删除 vector的性能最差, 效率最好的是list ...

  8. C++STL容器,你真的会用了吗?——插入、删除、遍历和查找操作性能对比——插入(精简易懂版,句句干货)

    文中将测试vector.list.forward_list.deque.set(multiset).unordered_set(unordered_multiset).map(multimap)和un ...

  9. python replace函数用法_C string.replace()字符替换函数的用法

    C replace()函数返回string 能放的最大元素个数.(不同于capacity) size _ type max _ size( ) const; basic_string ::size_t ...

最新文章

  1. Java正则表达式应用
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板定义
  3. python 常用PEP8规范
  4. Winform中实现设置ZedGraph的GraphPane的大小匹配ZedGraphControl
  5. linux命令使用示例:查看某目录属于哪个分区
  6. var和dynamic的区别及如何正确使用dynamic?
  7. 6年Java程序员年薪60W,这些年我都爬过哪些坑(2021年终总结)
  8. CentOS 7 安装并启动Nginx
  9. c语言位运算八进制转二进制,C语言十进制转换二进制八,十六进制。二进制转十进制。...
  10. Vue数据更新数据不渲染问题 - 资源篇
  11. maven命令上传jar、pom到Nexus
  12. 向量化回测系列2——全市场股票回测
  13. 如何用计算机弹出斗地主的声音,电脑为什么只有斗地主的时候有声音?
  14. windows中动态磁盘卷种类介绍
  15. 根据经纬度获取地址(逆地址解析)
  16. 利用pygame实现大鱼吃小鱼游戏
  17. 操作系统实验一 添加内核模块
  18. java外文资料_java外文文献(毕业设计).doc
  19. 股票量化分析工具QTYX使用攻略——箱体形态突破选股v2.5.3
  20. c语言程序编译与烧录,一种解释自定义脚本并烧录的方法与流程

热门文章

  1. Kubemetes网络插件cni
  2. 【路径规划】RRT(Rapidly-exploring Random Trees)算法
  3. 这个“安装 OS X Yosemite”应用程序副本不能验证
  4. 学生HTML个人网页作业作品----(画家企业8页)
  5. 基于THREEJS场景中模型局部辉光效果
  6. 怎样将网页保存为html,如何将网页保存为书签
  7. 平行四边形法则的感悟
  8. eclipse web项目启动后不自动打开浏览器,谷歌了一下终于找到设置了
  9. 信息技术自主创新的分级模型
  10. java程序框图 质数_判断质数的程序框图和算法