1.set
set中,set_name.begin(),set_name.end()。
方法:
begin(); // 返回指向第一个元素的迭代器(指针)
end(); // 返回指向最后一个元素的迭代器
clear(); // 清除所有元素
count(); // 返回某个值元素的个数
empty(); // 如果集合为空,返回true
equal_range(); //返回集合中与给定值相等的上下限的两个迭代器
erase()–删除集合中的元素
find()–返回一个指向被查找到元素的迭代器
get_allocator()–返回集合的分配器
insert()–在集合中插入元素
lower_bound()–返回指向大于(或等于)某值的第一个元素的迭代器
key_comp()–返回一个用于元素间值比较的函数
max_size()–返回集合能容纳的元素的最大限值
rbegin()–返回指向集合中最后一个元素的反向迭代器
rend()–返回指向集合中第一个元素的反向迭代器
size()–集合中元素的数目
swap()–交换两个集合变量
upper_bound()–返回大于某个值元素的迭代器
value_comp()–返回一个用于比较元素间的值的函数
2.iterator
迭代器(iterators)迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集。
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> a;
int b[3]={1,2,3};
a.insert(b[0]);
a.insert(b[1]);
a.insert(b[2]);
set<int>::iterator it;//定义一个迭代对象,四个指针
it=a.begin();
while(1){
cout<<*it<<endl;
if(it==a.end()){
break;
}
++it;
}
return 0;
}
注意:find()参数是定义set<类型>时的类型,若不是该类型则会报错,若set中找到该值,find就会返回该值的迭代器(指针),若找不到就会返回最后一个值的迭代器也就是set.end()。
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> x;
x.insert(1);
x.insert(2);
x.insert(3);
set<int>::iterator m;
m=x.find(3);
cout<<*m<<endl;
m=x.find(15);
cout<<*m<<endl;
return 0;
}
输出:
2
3