小議C 裡 set和map關聯容器的用法

2021-10-02 17:05:26 字數 725 閱讀 7545

在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序。set中元素的值不能直接被改變。set內部採用的是一種非常高效的平衡檢索二叉樹:紅黑樹,也稱為rb樹(red-black tree)。rb樹的統計效能要好於一般平衡二叉樹。

count()用來查詢set中某個某個鍵值出現的次數

這個函式在set並不是很實用,因為乙個鍵值在set只可能出現0或1次,這樣就變成了判斷某一鍵值是否在set出現過了

insert(x)            向容器中插入元素x

erase(x)            刪除容器中元素x

begin()        返回set容器的第乙個元素    /   返回指向第乙個元素的迭代器

end()      返回set容器的最後乙個元素

clear()          刪除set容器中的所有的元素

empty()     判斷set容器是否為空

size()      返回當前set容器中的元素個數

//無重複字元的最長子串

class solution

ans=max(ans,j-i+1);

mp[s[j]]=j+1; //注意防坑

//如果使用mp.insert( pair(s[j],j+1)) 則無法更改關鍵值的值,導致演算法執行失敗

}return ans;

}};

C 關聯容器的使用set與map

一 在c 中類似vector封裝陣列,string封裝字元,list封裝了鍊錶,map與set則封裝了二叉樹。其中set與map封裝的二叉樹則是採用的紅黑樹的底層結構的,這種結構與一般的二叉樹的型別有所不同,這種結構的二叉樹更加平衡高效檢索的二叉樹,對存入的資料進行了排序化的儲存。二 1 為什麼ma...

c 中關聯容器map與set總結

1.set set分為兩種 unordered set和set其中unordered set中的元素儲存是無序的,set中的元素儲存是由序的。兩種set中每個元素只存有乙個key,它支援高效的關鍵字查詢操作。set對應數學中的 集合。set具有以下的特點 儲存同一型別的資料元素 這點和vector ...

關聯陣列map和關聯容器set的用法和二者的區別

map 也叫關聯陣列 map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅...