Map 容器 學習總結(摘抄)

2022-03-04 12:57:27 字數 1237 閱讀 3492

下標訪問"" 和at()方法兩種方式,推薦第二種方法,它會進行邊界檢查。

對於mapmap_str;其訪問方式為:

map_str["firstel"];或者map_str.at("firstel");  // 返回鍵值firstel對應的值

int size( ) const;    // 返回對映中的元素數量。// map.size();

bool empty( ) const;  // 判斷對映是否為空,true表示為空,false表示為非空

iterator find(const key& key);  // 返回對映中具有與指定鍵等效的鍵對應元素位置的迭代器。

注意:count方法:map_str.count("first") // 返回 map 中其鍵與指定了引數的鍵匹配的元素數量。如果 map 包含其排序鍵與引數鍵匹配的元素,則返回 1;如果 map 不包含帶有匹配鍵的元素,則返回 0。

對於mapmap_str,有以下幾種插入方式:

map_str.insert(make_pair("key", 23));             // 將鍵值對插入到對映中

map_str.insert();                          // 將鍵值對插入到對映中

map_str.insert(map_str.begin()+2, make_pair("key", 23));   // 在第二個位置插入鍵值對

iterator erase(const_iterator where);               // 移除where迭代器位置的鍵值對

int erase(const key_type& key);                       // 移除鍵值和key相等的位置的鍵值對

iterator erase( const_iterator first, const_iterator last );   // 移除first和last迭代器之間的鍵值對

void clear();                  // 清除對映內的所有鍵值對元素

使用迭代器進行遍歷,非常方便。

iterator begin( );  // 返回指向對映中第乙個元素的迭代器

iterator end( );    // 返回指向對映中最後乙個元素的迭代器

Map容器學習

資料結構 map既對映,其中所有的元素都是pair且有序,同時擁有實值 value 和關鍵字 key map以rb tree底層機制,其實就是一種平衡二叉搜尋樹。為了保護map內元素的組織有序性,故c 不允許使用者對map元素的key值隨意修改,只能對value進行修改。pair的定義 templa...

C STL容器學習總結之八 對映map

c stl容器學習總結之一 向量vector c stl容器學習總結之二 鍊錶list c stl容器學習總結之三 雙端佇列deque c stl容器學習總結之四 佇列queue c stl容器學習總結之五 優先佇列priority queue c stl容器學習總結之六 棧stack c stl容...

STL容器類map學習

map類定義了乙個關聯容器,並且在容器中使用唯一的關鍵字 任何兩個元素的鍵都不相同 來對映相應的值。從本質上來說,關鍵字就是值的名字。在map物件中儲存了乙個值之後,就可以通過關鍵字來獲得它。map物件是一系列關鍵字 值的匹配對。map的主要功能在於 只有你知道了乙個值的關鍵字,就能夠找到這個值。例...