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內部自建一顆紅黑樹 一種非嚴格意義...