C STL之set用法總結

2021-09-26 16:17:56 字數 521 閱讀 7657

關於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使用動態分配陣列來儲存它的元素。當新元...