set是關聯容器,類似於集合,里面的元素不會重復,而且呈現為有序性
常用操作:
using namespace std;
set<int>:s;
1.元素插入:s.insert()
2.中序遍歷:類似vector遍歷(用迭代器)
set<int>::reverse_iterator rit=s.begin();
while(rit!=s.end())
{
printf("%d",*rit++);
}
3.反向遍歷:利用反向迭代器reverse_iterator。
set<int>::reverse_iterator rit;
for(rit=s.rbegin();rit!=s.rend();rit++)
4.元素刪除:與插入一樣,可以高效的刪除,並自動調整使紅黑樹平衡。
set<int> s;
s.erase(2); //刪除鍵值為2的元素
s.clear();
5.元素檢索:find(),若找到,返回該鍵值迭代器的位置,否則,返回最后一個元素后面一個位置。
set<int> s;
set<int>::iterator it;
it=s.find(5); //查找鍵值為5的元素
if(it!=s.end()) //找到
cout<<*it<<endl;
else //未找到
cout<<"未找到";
C++成員函數:
c++ stl容器set成員函數:begin()--返回指向第一個元素的迭代器
c++ stl容器set成員函數:clear()--清除所有元素
c++ stl容器set成員函數:count()--返回某個值元素的個數
c++ stl容器set成員函數:empty()--如果集合為空,返回true
c++ stl容器set成員函數:end()--返回指向最后一個元素的迭代器
c++ stl容器set成員函數:equal_range()--返回集合中與給定值相等的上下限的兩個迭代器
c++ stl容器set成員函數:erase()--刪除集合中的元素
c++ stl容器set成員函數:find()--返回一個指向被查找到元素的迭代器
c++ stl容器set成員函數:get_allocator()--返回集合的分配器
c++ stl容器set成員函數:insert()--在集合中插入元素
c++ stl容器set成員函數:lower_bound()--返回指向大於(或等於)某值的第一個元素的迭代器
c++ stl容器set成員函數:key_comp()--返回一個用於元素間值比較的函數
c++ stl容器set成員函數:max_size()--返回集合能容納的元素的最大限值
c++ stl容器set成員函數:rbegin()--返回指向集合中最后一個元素的反向迭代器
c++ stl容器set成員函數:rend()--返回指向集合中第一個元素的反向迭代器
c++ stl容器set成員函數:size()--集合中元素的數目
c++ stl容器set成員函數:swap()--交換兩個集合變量
c++ stl容器set成員函數:upper_bound()--返回大於某個值元素的迭代器
c++ stl容器set成員函數:value_comp()--返回一個用於比較元素間的值的函數