set&&map

1. 關聯式容器 set map

紅黑樹

set:

set <容器類型, 校驗規則>

set:
1. 自動排序
2. 自動去重
3. 不能用中括號

insert:可以插入單個值,返回值:pair<iterator, bool>
erase:可以直接刪除某個值
count:可以檢查某個值是否存在


multiset:

與set的不同:
1. 不會去重,允許同樣的值存在
2. count可以數出某個值的個數
3. 刪除值的時候會將所有的同值元素全部刪除


map:

map<鍵類型,值類型,校驗規則>

每個元素都是一個pair<鍵類型,值類型>

基礎用法參考 set,可以視爲給鍵添加了一個附件信息的 set,訪問pair的兩個元素應該使用 first 和 second

map的中括號重載:map好用的原因
1. 如果中括號中的值跟某個鍵重合,則會返回該鍵對應的值的引用
2. 如果不重合,會創建這個鍵,並用值類型的默認構造函數構造對應的值

*中括號重載包含了 at,find,insert等函數的功能,是map之所以好用的原因。


multimap與map的區別:
1. 不會去重,允許同樣的鍵存在
2. count可以數出某個鍵的個數
3. 刪除鍵的時候會將所有鍵相同的元素全部刪除
4. 不能用中括號


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章