set容器方法总结——中文博客最清晰完整的整理

set

注:

  • *标记的为c++11新特性,构造函数默认为c++11

  • 函数原型省略了一些细节,只展示实际需要填写的情况(分配器已经隐藏了,需要可以去c++reference查看)

  • 参数栏表示传入的两个参数的意义而不是类型

  • 返回值栏表示类型而不是意义

  • 粉红色表示为c++11新特性

构造函数

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
构造函数explicit set (const key_compare& comp = key_compare(), const allocator_type& alloc = allocator_type());一个函数指针或函数引用comp用来作比较,一个分配器allocdefault创建一个空的set
构造函数explicit set (const allocator_type& alloc);容器类型的参数/无(常用)default创建一个空的set
构造函数set (InputIterator first, InputIterator last,const key_compare& comp = key_compare(),const allocator_type& = allocator_type());表示复制开始位置的迭代器first,表示复制器结束位置的迭代器last,一个函数指针或函数引用comp,一个分配器allocdefault创建一个set,并把初始化为first到last中间的内容
构造函数set (const set& x)一个容器类型的参数xdefault创建一个set,并将初始化,内容与x相同
构造函数set (const set& x, const allocator_type& alloc);一个容器类型的参数x,一个构造器allocdefault创建一个set,并将初始化,内容与x相同
构造函数set (set&& x);一个容器类型的参数xdefault创建一个set,并将初始化,内容与x相同(移除x中内容?)
构造函数set (set&& x, const allocator_type& alloc);一个容器类型的参数x,一个分配器default创建一个set,并将初始化,内容与x相同(移除x中内容?)
构造函数set (initializer_list<value_type> il,const key_compare& comp = key_compare(),const allocator_type& alloc = allocator_type());已经初始化的列表il,一个函数指针或函数引用comp用来作比较,一个分配器allocdefault创建一个set,并将初始化,内容与il相同
析构函数~set();N/AN/A回收容器
=set& operator= (const set& x);一个setset引用将新内容分配给容器,替换其当前内容。
=set& operator= (set&& x);一个setset引用将新内容分配给容器,替换其当前内容。
=set& operator= (initializer_list<value_type> il);一个已初始化的可迭代列表set引用将新内容分配给容器,替换其当前内容。

迭代器方法

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
beginiterator begin() noexcept;迭代器返回一个迭代器,指向首个元素
enditerator end() noexcept;迭代器返回一个迭代器,指向最后一个元素的下一个元素
rbeginreverse_iterator rbegin() noexcept;迭代器返回一个反向迭代器,指向最后一个元素
rendreverse_iterator rbegin() noexcept;迭代器返回一个迭代器,指向第一个元素的前一个元素
cbeginconst_iterator cbegin() const noexcept;迭代器返回一个常量迭代器,指向首个元素
cendconst_iterator end() noexcept;迭代器返回一个常量迭代器,指向最后一个元素的下一个元素
crbeginconst_ reverse_iterator rbegin() noexcept;迭代器返回一个常量反向迭代器,指向最后一个元素
crendconst_ reverse_iterator rbegin() noexcept;迭代器返回一个常量迭代器,指向第一个元素的前一个元素

容量方法

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
sizesize_type size() noexcept;非负整数返回容器的元素的数量
max_sizesize_type max_size() noexcept;非负整数返回容器所能容纳的最大的元素的数量
emptybool empty() noexcept;bool返回是否为空

编辑方法

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
insertpair<iterator,bool> insert (const value_type& val);对应的值val一个pair将val插入到set中
insertpair<iterator,bool> insert (value_type&& val);对应的值val一个pair将val插入到set中
insertpair<iterator,bool> insert (value_type&& val);对应的值val一个pair将val插入到set中
insertiterator insert (const_iterator position, value_type&& val);一个代表位置的迭代器position,对应的值val一个迭代器将val插入到set中的指定位置
insertvoid insert (InputIterator first, InputIterator last);代表开头的迭代器,代表结尾的迭代器将first与last中的内容插入到set
insertvoid insert (initializer_list<value_type> il);已经初始化的列表il将il中的内容插入set
eraseiterator erase (const_iterator position);一个表示位置的迭代器position迭代器将position位置移除
erasesize_type erase (const value_type& val);一个值val非负整数将值val的结点移除
eraseiterator erase (const_iterator first, const_iterator last);一个代表开始位置的迭代器first,一个表示结束位置的迭代器last迭代器将first与last之间的值移除
swapvoid swap (set& x);一个set将x与容器中的值交换
clearvoid clear() noexcept;将容器中的内容清除
emplacepair<iterator,bool> emplace (Args&&... args);n个参数args在容器中(构造性的)插入(n个)新元素
emplace_hintiterator emplace_hint (const_iterator position, Args&&... args);n个参数args在容器中(构造性的)插入(n个)(带有提示的)新元素

观测方法

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
key_compkey_compare key_comp() const;比较对象返回容器使用的比较对象的副本
value_compvalue_compare value_comp() const;比较对象返回容器使用的比较对象的副本

操作方法

方法(method)原型(prototype)参数(param)返回值(return)功能(function)
findconst_iterator find (const value_type& val) const;待查找值val迭代器查找val所在的位置
finditerator find (const value_type& val);待查找值val迭代器查找val所在的位置
countsize_type count (const value_type& val) const;待查找值val非负整数在容器中搜索等价于val的元素,并返回匹配数
lower_bounditerator lower_bound (const value_type& val);待查找值val迭代器返回小于等于val的第一个元素的迭代器
lower_boundconst_iterator lower_bound (const value_type& val) const;待查找值val迭代器返回小于等于val的第一个元素的迭代器
upper_bounditerator upper_bound (const value_type& val);待查找值val迭代器返回大于val的第一个元素的迭代器
upper_boundconst_iterator upper_bound (const value_type& val);待查找值val迭代器返回大于val的第一个元素的迭代器
equal_rangepair<const_iterator,const_iterator> equal_range (const value_type& val) const;待查找值valpair返回一个pair,第一个元素是小于等于val的第一个元素的迭代器,第二个元素是大于val的第一个元素的迭代器
equal_rangepair<iterator,iterator> equal_range (const value_type& val);待查找值valpair返回一个pair,第一个元素是小于等于val的第一个元素的迭代器,第二个元素是大于val的第一个元素的迭代器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值