STL set

set是C++标准模版库(STL,Standard Template Library)中的一种关联式容器。集合。用二叉搜索树实现,集合中的每个元素只出现一次,且是排好序的,因此,这是一种无序数组(自动按照值的大小排序,不会按0,1,2的顺序排序)。访问元素的时间复杂度是O(logn)的。能极大地简化代码。
一.定义set集合
使用set需要头文件:

#include<set>//或者万能头文件#include<bits/stdc++.h>
using namespace std;  

开始定义...

/*
    set<int> a; //定义一个int类型的集合a
    // set<int> a(10); //error,未定义这种构造函数
    // set<int> a(10, 1); //error,未定义这种构造函数
    set<int> b(a); //定义并用集合a初始化集合b
    set<int> b(a.begin(), a.end()); //将集合a中的所有元素作为集合b的初始值
*/

总结

/*
    set<数据类型> 集合名; //定义一个空集合
    set<数据类型> 集合名(集合名); //定义并用括号内集合初始化集合b
    set<数据类型> 集合名(集合名.begin(), 集合名.end());//将括号内集合中的所有元素作为集合的初始值
*/

一.set容器的函数
以下为部分函数...

/*
    set<int> a;  
    a.insert(n);//把n放进set a(会自动排序)
    a.erase(n);//删除元素n
    a.clear();//清空set a
    a.empty ();//判断set是否为空(返回一个bool类型)
    a.size();//返回元素个数
    a.find(k);//返回一个迭代器,指向键值k
    a.lower_bound(k);//返回一个迭代器,指向键值不小于k的第一个元素
    a.upper_bound(k);//返回一个迭代器,指向键值大于k的第一个元素
    a.begin();//访问第一个元素
    a.end();//访问末尾元素
    a.max_size();//返回集合大小

注:
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。

To be continued...

全部评论

相关推荐

醉蟀:你不干有的是人干
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务