本文共 786 字,大约阅读时间需要 2 分钟。
set内部其实是一颗二叉搜索树。其基本函数如下:
size():返回set的集合数。
clear():清空set。 O(n)
begin():返回指向set开头的迭代器。
end():返回指向set末尾的迭代器。
insert(key):向set中插入元素key。O(log(n))
erase(key):删除含有key的元素。 O(log(n))
find(key): 查找与key一致的元素,并返回指向该元素的迭代器,如果没有找到,则返回末尾end()。O(log(n))
set对于重复元素只能存储一次。。。
代码如下:
#include#include #include #include #include using namespace std;set se;int a[]={5,2,3,6,5};void print(){ //集合的遍历 for (set ::iterator it=se.begin();it!=se.end();it++) printf(" %d",*it); printf("\n");}int main(){ if(se.size()==0) printf("集合为空\n"); //插入元素 for (int i=0;i<5;i++) se.insert(a[i]); print(); //删除元素 se.erase(5); print(); //查找元素 if(se.find(5)==se.end()) printf("集合中未存在此元素\n"); return 0;}/*运行结果集合为空 2 3 5 6 2 3 6集合中未存在此元素*/
转载地址:http://kvaen.baihongyu.com/