IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> C++STL关联容器01-Set -> 正文阅读

[系统运维]C++STL关联容器01-Set

set 容器通过键访问单个元素通常比unordered_set 容器慢,但它们允许根据它们的顺序直接迭代子集。
实现为二叉搜索树

(constructor)

empty (1)	
explicit set (const key_compare& comp = key_compare(),const allocator_type& alloc = allocator_type());
range (2)	
template <class InputIterator>
set (InputIterator first, InputIterator last, const key_compare& comp = key_compare(),const allocator_type& alloc = allocator_type());
copy (3)	
set (const set& x);

(destructor)

Iterators

begin,cbegin,rbegin,crbegin

end,cend,rend,crend

Capacity

empty

return size==0

bool empty() const noexcept;

size

返回容器存储的元素数

size_type size() const noexcept;

max_size

返回容器能够容纳的最大元素个数

size_type max_size() const noexcept;

Modifier

insert

插入时查看是否已有元素。若没有插入并返回迭代器,若有则不插入并返回现有元素迭代器。

对于插入元素,根据比较标准会插入其应在位置以保证有序。

单元素版本 (1) 返回一对,其成员 pair::first 设置为指向新插入元素或集合中已有的等效元素的迭代器。如果插入了新元素,则pair::second 元素设置为true,如果等效元素已存在,则设置为false

带有提示 (2) 的版本返回一个迭代器,该迭代器指向新插入的元素或集合中已经具有相同值的元素。

single element (1)	
pair<iterator,bool> insert (const value_type& val);
pair<iterator,bool> insert (value_type&& val);
with hint (2)	
iterator insert (const_iterator position, const value_type& val);
iterator insert (const_iterator position, value_type&& val);
range (3)	
template <class InputIterator>
void insert (InputIterator first, InputIterator last);
initializer list (4)	
void insert (initializer_list<value_type> il);

erase

从集合容器中移除单个元素或一系列元素 [first,last)(左闭右开)。

返回值
对于基于值的版本 (2),该函数返回擦除的元素数。其他版本返回一个迭代器,指向最后一个被移除元素之后的元素(或 set::end,如果最后一个元素被移除)

(1)	
iterator  erase (const_iterator position);
(2)	
size_type erase (const value_type& val);
(3)	
iterator  erase (const_iterator first, const_iterator last);

swap

依旧是所有迭代器、引用和指针对交换的对象仍然有效

void swap (set& x);

clear

void clear() noexcept;

emplace

对于插入元素,根据比较标准会插入其应在位置以保证有序。

template <class... Args>
pair<iterator,bool> emplace (Args&&... args);

emplace_hint

在集合中插入一个新元素(如果唯一),并带有插入位置的提示(函数使用此提示开始搜索插入点,可以加快搜索插入位置速度)。这个新元素是使用 args 作为构造参数就地构造的。

template <class... Args>
iterator emplace_hint (const_iterator position, Args&&... args);

Observers

key_comp

返回容器使用的比较对象的副本

默认情况下,返回与 operator< 相同的对象

key_compare key_comp() const;

value_comp

在集合容器中,对元素进行排序的键是值本身。
因此在集合中,key_comp 与 value_comp是等效的。

value_compare value_comp() const;

Operations

find

找到返回对应迭代器,没找到返回 set::end

const_iterator find (const value_type& val) const;
iterator       find (const value_type& val);

count

在容器中搜索与 val 等效的元素并返回匹配的数量,因唯一所以仅返回1和0

size_type count (const value_type& val) const;

lower_bound

返回一个对应值或其之后(其应该所处位置之后的那个元素)的迭代器。

返回调用key_comp(element,val) 返回false的第一个元素

      iterator lower_bound (const value_type& val);
const_iterator lower_bound (const value_type& val) const;

upper_bound

返回到 key_comp(val,element) 将返回 true 的第一个元素

iterator upper_bound (const value_type& val) const;

equal_range

pair::firstlower_bound 相同,pair::secondupper_bound 相同

集合所有元素唯一,故最多包含一个元素。

找不到匹配项,则返回的范围长度为零,两个迭代器都指向根据容器的内部比较对象 (key_comp) 被认为是 val 之后的第一个元素

pair<iterator,iterator> equal_range (const value_type& val) const;

Allocator

get_allocator

allocator_type get_allocator() const;
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 13:27:02  更:2021-10-29 13:28:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:21:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码