STL"set"
阿新 • • 發佈:2018-12-20
1, set作為一個關聯式容器,用來儲存同一資料型別的資料型別,並且能從一個數據集合中取出資料,在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序。set中數元素的值不能直接被改變。 C++ STL中標準關聯容器set, multiset, map, multimap內部採用的就是一種非常高效的平衡檢索二叉樹:紅黑樹,也成為RB樹(Red-Black Tree)。 2, map和set的插入刪除效率比用其他序列容器高 3, 每次insert之後,以前儲存的iterator不會失效 4, set使用方法:
begin() 返回set容器的第一個迭代器
end() 返回set容器的最後一個迭代器
clear() 刪除set容器中的所有的元素
empty() 判斷set容器是否為空
max_size() 返回set容器可能包含的元素最大個數
size() 返回當前set容器中的元素個數
rbegin 返回的值和end()相同
rend() 返回的值和rbegin()相同
erase(iterator) 刪除定位器iterator指向的值
erase(first,second) 刪除first和second之間的值
erase(value) 刪除鍵值value的值
lower_bound(value) 返回第一個>=value的定位器
upper_bound(value)|返回最後一個>=value的定位器
5,
#include<iostream> #include<set> using namespace std; int main(){ int a[]={3,2,1,5,4}; set<int> a1(a,a+5); set<int>::iterator it; for(it = a1.begin();it!=a1.end();it++){ cout << *it << "\t"; } cout << endl; return 0; }