關聯容器包含map、set、multimap、multiset。
關聯容器的特點是明顯的,相對於順序容器,有如下特點:
1、其內部是採用非線性的二叉樹結構,具體的說是紅黑樹的結構原理實現的。
2、set和map保證了元素的唯一性,multiset和multimap擴充套件了這一屬性,可以允許元素不唯一。
3、元素可以是有序的集合,預設在插入的時候按公升序排列。
關聯容器的基本用法相同:
begin() 返回所指向的第乙個元素的迭代器
clear() 清除所有元素
count() 返回某個值元素的個數
empty() 如何集合為空,返回true
end() 返回最後乙個元素的迭代器
erase(key)刪除等於key值的所有元素
erase(it)刪除it迭代器所指向的元素
erase(start,end)刪除從迭代器start開始到end結束的元素
find()返回第乙個指向被查詢元素的迭代器
insert(it,val)在迭代器it前插入val
lower_bound(val)返回指向大於(或等於)val值的第乙個元素的迭代器
upper_bount(val)返回指向大於val值得第乙個元素的迭代器
size()集合中元素的數目
STL之關聯容器
1.set單重集合 不允許key重複 set作為乙個容器,也是用來儲存同一資料型別的資料型別,並且能從乙個資料集合中取出資料 c stl中標準關聯容器set,multiset,map,multimap內部採用的就是一種非常高效的平衡檢索二叉樹 紅黑樹 include using namespace ...
STL之關聯式容器
sets 沒有重疊的數字,沒有權利指定新元素的位置 set typedef std set obj obj col col.insert 3 col.insert 1 col.insert 5 col.insert 4 col.insert 1 col.insert 6 col.insert 2 f...
STL關聯容器之map
map和set一樣,也是一種關聯容器,內部也是使用紅黑樹作為底層的實現結構。但是不同的是,map的鍵值和實值可以是不一樣的。map與set的查詢操作本質上是一樣的,沒有特殊的地方。map使用鍵值排列元素的位置,因而也不允許插入相同鍵值的元素,插入演算法返回pair iterator,bool 分別指...