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...

京公网安备 11010502036488号