SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

STL常用模板:Set集合

发表于 2020-01-07 更新于 2021-10-29 分类于 计算机 , 技术 , C/C++ 阅读次数: Valine:
本文字数: 2.1k 阅读时长 ≈ 2 分钟

C/C++参考文档

概念

  set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也称为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。

头文件

1
#include <set>

名字空间

1
std

构造函数

定义:

1
set<Type>

常用函数

begin

语法:

1
iterator begin();

  返回指向当前集合中第一个元素的迭代器。


clear

语法:

1
void clear();

  清除当前集合中的所有元素。


count

语法:

1
size_type count( const key_type &key );

  返回当前集合中出现的某个值的元素的数目。


empty

语法:

1
bool empty();

  如果当前集合为空,返回true;否则返回false。


end

语法:

1
const_iterator end();

  返回指向当前集合中最后一个元素的迭代器。


equal_range

语法:

1
pair equal_range( const key_type &key );

  返回集合中与给定值相等的上下限的两个迭代器。


erase

语法:

1
2
3
4
5
void erase( iterator i );

void erase( iterator start, iterator end );

size_type erase( const key_type &key );

说明:

  • 删除i元素;
  • 删除从start开始到end结束的元素;
  • 删除等于key值的所有元素(返回被删除的元素的个数)。

find

语法:

1
iterator find( const key_type &key );

  在当前集合中查找等于key值的元素,并返回指向该元素的迭代器;如果没有找到,返回指向集合最后一个元素的迭代器。


get_allocator

语法:

1
allocator_type get_allocator();

  返回当前集合的分配器。


insert

语法:

1
2
3
4
5
iterator insert( iterator i, const TYPE &val );

void insert( input_iterator start, input_iterator end );

pair insert( const TYPE &val );

说明:

  • 在迭代器i前插入val;
  • 将迭代器start开始到end结束返回内的元素插入到集合中;
  • 在当前集合中插入val元素,并返回指向该元素的迭代器和一个布尔值来说明val是否成功的被插入了。

  (应该注意的是在集合(Sets)中不能插入两个相同的元素。)


lower_bound

语法:

1
iterator lower_bound( const key_type &key );

  返回一个指向大于或者等于key值的第一个元素的迭代器。


key_comp

语法:

1
key_compare key_comp();

  返回一个用于元素间值比较的函数对象。


max_size

语法:

1
size_type max_size();

  返回当前集合能容纳元素的最大限值。


rbegin

语法:

1
reverse_iterator rbegin();

  返回指向当前集合中最后一个元素的反向迭代器。


rend

语法:

1
reverse_iterator rend();

  返回指向集合中第一个元素的反向迭代器。


size

语法:

1
size_type size();

  返回当前集合中元素的数目。


swap

语法:

1
void swap( set &object );

  交换当前集合和object集合中的元素。


upper_bound

语法:

1
iterator upper_bound( const key_type &key );

  在当前集合中返回一个指向大于Key值的元素的迭代器。


value_comp

语法:

1
value_compare value_comp();

  返回一个用于比较元素间的值的函数对象。

-------- 本文结束 感谢阅读 --------
相关文章
  • STL常用模板:MultiSet多元集合
  • STL常用模板:MultiMap多元字典
  • STL常用模板:Map字典
  • STL常用模板:Bitset位集合
  • STL常用模板:Double Ended Queue双向队列
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: STL常用模板:Set集合
  • 本文作者: SiriYang
  • 创建时间: 2020年01月07日 - 21时01分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200107213559id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
C/C++ 文档 STL
STL常用模板:List链表
STL常用模板:Iterator迭代器
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. 概念
  2. 构造函数
  3. 常用函数
    1. begin
    2. clear
    3. count
    4. empty
    5. end
    6. equal_range
    7. erase
    8. find
    9. get_allocator
    10. insert
    11. lower_bound
    12. key_comp
    13. max_size
    14. rbegin
    15. rend
    16. size
    17. swap
    18. upper_bound
    19. value_comp
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%