STL之關聯容器

2022-05-02 21:27:10 字數 653 閱讀 7869

關聯容器包含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 分別指...