C 標準模板庫 map使用方法

2021-10-04 01:12:51 字數 1486 閱讀 2841

1.本質:提供任意兩個資料型別之間的對映(包括stl容器之間的對映)

2.優點:建立兩個不同型別資料之間的聯絡,並可以在內部根據鍵值(第乙個 type 值自動從小到大排序)。

0. 引用標頭檔案

#includeusing namespace std;
1.定義

前乙個資料型別為鍵的型別,第二個型別為值的型別。如map是把 string 型別對映到 int 型別。

mapmp;      //字元型對映到整數型. 

mapmp; //字元陣列的對映必須使用 string .

map, int> mp;

2.訪問

通過下標訪問:

#include#includeusing namespace std;

int main()

通過迭代器訪問:

/*定義迭代器 it 之後,可以採用 it->first 訪問鍵,採用 it->second 訪問值。*/

#include#includeusing namespace std;

int main()

}

3.常用函式

3.1 find

如果map中不含有此元素,則返回的 it = mp.end(); .

/*返回鍵為特定值的對映的迭代器*/

map::iterator it = mp.find('b');

3.2 erase

刪除單個元素

// 1. 通過迭代器進行刪除

map::iterator it = mp.find('b');

mp.erase(it);

// 2. 通過鍵進行刪除

mp.erase('b');

//以上兩種方法均是刪除鍵為 b 的元素。

刪除乙個區間內的元素

map::iterator it = mp.find('b');

mp.erase(it,mp.end());

//刪除從 it 到最後的所有對映,注意 erase 函式的兩個從引數型別都是迭代器。

3.3 size

int size = mp.size();

//返回對映的對數

3.4 clear

mp.clear();

//清空所有的對映

更多型別的使用方法見專欄。

C 標準模板庫 stack使用方法

1.本質 棧 先進後出 2.應用 防止遞迴所導致的程式崩潰,迷宮問題求解等。0.引用標頭檔案 includeusing namespace std 1.定義 stackst typename 可以是任何型別的基本資料型別或者容器,如 int double node 自己定義的結構體 等。2.訪問 由...

C 標準模板庫 queue使用方法(判等)

1.實質 佇列 先進先出 2.佇列的進一步應用 優先佇列。1.標頭檔案的引用 include includeusing namespace std 2.定義方法 queueq typename 可以是任何型別的基本資料型別或者容器,如 int double node 自己定義的結構體 等。3.訪問 ...

STL標準模板庫 map

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