文档章节

2.3 set

把南墙撞开
 把南墙撞开
发布于 2017/02/03 23:22
字数 290
阅读 4
收藏 0

#include<set>

红黑树(Red-Black Tree),一种平衡二叉检索树。

对于插入相同键值的情况忽略处理。

set主要用于快速检索

高效的插入和删除

multiset、map、multimap都是平衡二叉检索树。


创建set集合:

set<int> s;

元素的插入与中序遍历:

s.insert(3);
for(set<int>::iterator it = s.begin(); it != s.end(); ++it)
    cout << *it << " ";

元素的反向遍历:

for(set<int>::reverse_iterator rit = s.rbegin(); rit != s.rend(); ++rit)
    cout << *rit << " ";


元素的删除:

可以删除某个迭代器位置上的元素、等于某键值的元素、一个区间上的元素

s.erase(4); //删除键值为4的元素

清空集合

s.clear();

元素的检索:

set<int>::iterator it = s.find(3); //如果找到,返回迭代器位置;如果未找到,返回end()。

自定义比较函数:

两种方式:

1、元素是结构体,则直接重载操作符'<';

2、元素是基本元素,则构建一个结构体,里面重载'()'操作符,逻辑代码实现比较功能。

struct desComp
{
    bool operator()(const int &a, const int &b)
    {
        if (a != b) return a > b;
        else return a > b;
    }
}

set<int, desComp>s;
s.insert(3);
... ...
for (set<int, desComp>::iterator it = s.begin(); it != s.end(); ++it)
    cout << *it << " ";



本文转载自:http://blog.csdn.net/weixin_37289816/article/details/54729177

上一篇: 2.7 deque
下一篇: 2.10 stack
把南墙撞开
粉丝 0
博文 73
码字总数 21068
作品 0
昌平
私信 提问
MySQL必知必会---过滤数据

1.使用where子句 2.where子句操作符 2.1 检查单个值 2.2 不匹配检查 2.3 范围值检查 2.4 空值检查 使用where子句 数据库表一般包含大量的数据,很少需要检索表中的所有行。通常会根据特定操作...

蜗牛的嘲讽
2018/05/22
0
0
Ashmem匿名共享内存 运行时库cutil

Ashmem匿名共享内存驱动 简介 前面已经说过ashmem系统分为三个层次,而这篇文章将要分析的就是cutils库中的实现。 cutils库就通过文件访问操作open,ioctl来访问驱动程序。另外cutils提供了五...

街角的小丑
2018/02/01
403
0
Map获取键值,Map的几种遍历方法

Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.Entry同时也提供了一个setValue()...

Leons
2015/07/08
15
0
Dovecot 2.3.3 发布,主打安全性的邮件服务器

Dovecot 是一个开源的 IMAP 和 POP3 电子邮件服务器,用于 Linux 和 类 UNIX- 系统,主打安全性。Dovecot 设置快速,简单,无需特别管理,而且占用的内存很少。 Dovecot 2.3.3 包含以下更新:...

王练
2018/10/03
318
0
leetcode第217.题存在重复元素

1.题目描述 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 2.示例 2.1   输入: [1,2,3,1]   ...

波比图
04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部