關於set,必須說明的是set關聯式容器。set作為乙個容器也是用來儲存同一資料型別的資料型別,並且能從乙個資料集合中取出資料,在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序。應該注意的是set中數元素的值不能直接被改變。c++ stl中標準關聯容器set, multiset, map, multimap內部採用的就是一種非常高效的平衡檢索二叉樹:紅黑樹,也成為rb樹(red-black tree)。rb樹的統計效能要好於一般平衡二叉樹,所以被stl選擇作為了關聯容器的內部結構。
主要特點:
(1)map和set的插入刪除效率比用其他序列容器高
(2)每次insert之後,以前儲存的iterator不會失效
(3)當資料元素增多時,set的插入和搜尋速度變化不大
1.set的定義和初始化
2.set的狀態
3.插入和訪問
set不支援隨機訪問!因此*(s.begin+1)這種操作都是非法的,只能通過迭代器移動來訪問
3.遍歷
4.刪除
5.查詢
轉 C STL之set的用法
include includeusing namespace std int main set iterator it for it s.begin it s.end it 沒有值cout 2016年09月20日 22 53 29 1.關於set c stl 之所以得到廣泛的讚譽,也被很多人使用,不...
C STL之vector用法總結
vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...
C STL之vector用法總結
vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...