set

由于近期有考试反映出一些学的时候觉得没什么用结果还是有很大用处的东西真的很重要
STL-set
[自用简单版阐述]集合容器,快速检索,不可用去修改键值。

set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。

(我现在所知道的)操作:
对功能的理解要仔细和擅长运用。

函数功能
set<T> stset默认构造函数
mulitset<T> mstmultiset默认构造函数
set(const set &st)拷贝构造函数
set& operator=(const set &st)重载等号操作符
swap(st)交换两个集合容器【这里有一个疑问:void swap (set& x);交换两个set的内容】额,在我的想象中应该是写两个set进行交换,但是看网上的各种文献好像都只写了一个参数?
size()返回容器中元素的数目
max_size()返回set容器可能包含的元素最大个数
empty()判断容器收为空
insert(elem)在容器中插入元素
clear()清除所有元素
erase(pos)删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg, end)删除区间[beg,end)的所有元素 ,返回下一个元素的迭代器
erase(elem)删除容器中值为elem的元素
find(key)查找键key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end()
count(key)查找键key的元素个数【这个函数在set并不是很实用,因为一个键值在set只可能出现0或1次,这样就变成了判断某一键值是否在set出现过了。】
lower_bound(keyElem)返回最后一个key<=keyElem元素的迭代器
upper_bound(keyElem)返回第一个key>keyElem元素的迭代器
equal_range(keyElem)返回容器中key与keyElem相等的上下限的两个迭代器,这两个迭代器被放在对组(pair)中
begin()返回set容器的第一个元素
end()返回set容器的最后一个元素

反向遍历(基本不用):

函数功能
rbegin()要用到利用反向迭代器reverse_iterator
rend()同上,即把

注:
关于erase:
set中的删除操作是不进行任何的错误检查的,比如定位器的是否合法等等,所以用的时候自己一定要注意。

(昨天最后一题一直没想出来的60分实现可以考虑 栈 ?)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值