STL map容器的基本操作

2021-09-09 09:20:25 字數 1919 閱讀 4846

#include#includeusing namespace std;

//map容器:

/*map的特性是,所有元素都會根據元素的鍵值自動排序。

map所有的元素都是pair,同時擁有實值和鍵值,

pair的第一元素被視為鍵值,第二元素被視為實值,map不允許兩個元素有相同的鍵值。

*//*

map建構函式

mapmaptt;//map預設建構函式:

map(const map &mp);//拷貝建構函式

*//*

map賦值操作

map& operator=(const map &mp);//過載等號操作符

swap(mp);//交換兩個集合容器

*/void test01()

cout << endl;}/*

map大小操作

size();//返回容器中元素的數目

empty();//判斷容器是否為空

map刪除操作

clear();//刪除所有元素

erase(pos);//刪除pos迭代器所指的元素,返回下乙個元素的迭代器。

erase(beg,end);//刪除區間[beg,end)的所有元素 ,返回下乙個元素的迭代器。

erase(keyelem);//刪除容器中key為keyelem的對組。

map查詢操作

find(key);//查詢鍵key是否存在,若存在,返回該鍵的元素的迭代器;/若不存在,返回map.end();

count(keyelem);//返回容器中key為keyelem的對組個數。對map來說,要麼是0,要麼是1。對multimap來說,值可能大於1。

lower_bound(keyelem);//返回第乙個key>=keyelem元素的迭代器。

upper_bound(keyelem);//返回第乙個key>keyelem元素的迭代器。

equal_range(keyelem);//返回容器中key與keyelem相等的上下限的兩個迭代器。

*/void test02()

cout << endl;

map::iterator pos = m.find(1);

if (pos != m.end())

else

pos = m.find(2);

if (pos != m.end())

else

//count(keyelem);//返回容器中key為keyelem的對組個數。對map來說,要麼是0,要麼是1。對multimap來說,值可能大於1。

int num = m.count(2);

cout << "num= " << num << endl;

/* lower_bound(keyelem);//返回第乙個key>=keyelem元素的迭代器。

upper_bound(keyelem);//返回第乙個key>keyelem元素的迭代器。

equal_range(keyelem);//返回容器中key與keyelem相等的上下限的兩個迭代器。

*/ map::iterator it_1 = m.lower_bound(3);

if (it_1 != m.end())

map::iterator it_2 = m.upper_bound(3);

if (it_2 != m.end())

pair::iterator, map::iterator> it_3 = m.equal_range(3);

if (it_3.second!= m.end())

}//指定排序規則:

//仿函式:

class mycompare

};void test03()

cout << endl;

}int main()

STL map 關聯式容器

map就是乙個對映,不過我在程式中對它的處理沒有很複雜,大多是把它當成乙個下標可以為任意型別的陣列。map在程式中挺常用的,也為字串處理提供了簡便,比如 atcoder 3941 abc091 b題 include include include include include using name...

容器基本操作

docker run name fang it image id bin bash 執行的shell docker ps a 檢視所有容器,l 檢視最近執行容器 docker inspect 檢視容器的詳細資訊 docker start i container id 或者名字也可以 docker r...

容器基本操作

目錄docker建立的容器是處於停止狀態,可以使用docker start命令來啟動 docker create it ubuntu latest docker start 容器id docker stop 容器id docker run ubuntu bin echo hello world 執行...