How to Use Set in STL?
描述
以前编程都是用万能的数组和结构体来实现,但是很多时候就很有数组大小限制和运行效率的困扰,很多时候用map,set,vector,queue,stack效率会高很多。我记性又很差,所以写这篇简单的笔记,仅供参考。本章介绍Set的基本用法。
Set
Set是集合的意思,所以元素唯一,set是有序的,默认是升序。
常用
begin() 返回set容器的第一个元素
end() 返回set容器的最后一个元素的后一位,一般放着set的大小
clear() 删除set容器中的所有的元素
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
插入 查找 计数
insert(key_value)
将key_value插入到set中 ,返回值是pair
inset(first,second)
将定位器first到second之间的元素插入到set中,返回值是void.
count(key_value)
用来查找set中某个某个键值出现的次数。一个键值在set只可能出现0或1次,
find()
若元素存在,就返回改元素的地址,用迭代器接收。不存在返回end();
Lower_Upper_Bound 和 equal_range
lower_bound(key_value) ,返回第一个大于等于key_value的定位器
upper_bound(key_value),返回最后一个大于key_value的定位器
equal_range() ,返回一对定位器,分别表示第一个大于或等于给定关键值的元素和 第一个大于给定关键值的元素,这个返回值是一个pair类型,如果这一对定位器中哪个返回失败,就会等于end()的值。
示例代码
|
|
图示