STL map multimap 常用函式

2021-07-11 02:55:41 字數 3255 閱讀 4723

使用map/multimap之前要加入標頭檔案#include,map和multimap將key/value當作元素,進行管理。它們可根據key的排序準則自動將元素排序。multimap允許重複元素,map不允許重複元素。

map和multimap內部的資料結構也是平衡二叉樹。

map和multimap根據元素的key自動對元素進行排序,要修改元素的key必須先刪除擁有該key的元素,然後插入擁有新的key/value的元素。

map m:建立空對映,不包含任何元素

map m(op):以op為排序準則,產生乙個空的map

map m1(m2):複製c2中的元素到c1中

map m(const value_type *first, const value_type* last):複製[first, last)之間元素構成新對映

map m(const value_type *first, const value_type* last,op):以op為排序準則,

複製[first, last)之間元素構成新對映。

m.~set()銷毀所有元素,釋放記憶體

multimap mm:建立空對映,不包含任何元素

multimap mm(op):以op為排序準則,產生乙個空的multimap

multimap m1(m2):複製m2中的元素到m1中

multimap m(const value_type *first, const value_type* last):複製[first, last)之間元素構成新對映

multimap m(const value_type *first, const value_type* last,op):以op為排序準則,

複製[first, last)之間元素構成新對映

m.~multimap()銷毀所有元素,釋放記憶體

#include "stdafx.h"

#include #include using namespace std;

bool fncomp (char lhs, char rhs)

int size() const:返回容器元素個數

bool empty() const:判斷容器是否空,若返回true,表明容器已空。

3.增加刪除函式

iterator insert(const value_type& x):插入元素x

iterator insert(iterator it,const value_type& x):在迭代指標it處插入元素x

void insert(const value_type *first,const value_type* last):插入

[first, last)之間元素

iterator erase(iterator it):刪除迭代指標it處元素

iterator erase(iterator first,iterator last):刪除

[first, last)之間元素

size_type erase(const key& key):刪除鍵值等於key的元素

#include "stdafx.h"

#include #include using namespace std;

int main ()

map::iterator it = mymap.begin();

mymap.insert(it,pair('b',300));

mymap.insert(it,pair('c',400));

mapanothermap;

anothermap.insert(mymap.begin(),mymap.find('c'));

cout<

for (it = mymap.begin();it!= mymap.end();it++)

cout<

for (it = anothermap.begin();it!= anothermap.end();it++)

return 0;

}

上述**執行結果為

}上述**執行結果為:

如果想往map/multimap中修改乙個對映的值,應先插入乙個新對映,再把與修改的對映刪除。

iterator begin():返回首元素的迭代器指標

iterator end():返回尾元素的迭代器指標

reverse_iterator rbegin():返回尾元素的逆向迭代器指標

reverse_iterator rend():返回首元素前乙個位置的迭代器指標

const_iterator lower_bound(const key& key):返回鍵值大於等於key的迭代器指標

const_iterator upper_bound(const key& key):返回鍵值大於key的迭代器指標

int count(const key& key) const:返回鍵值等於key的元素的個數

pairequal_range(const key& key) const:返回容器中鍵值等於key的迭代指標[first, last)

const_iterator find(const key& key) const:查詢功能,返回鍵值等於key的迭代器指標

void swap(set& s):交換但對映元素

void swap(multiset& s):交換多對映元素  

reference operator(const key& k):僅在但對映map類中,可以以陣列的形式給對映新增鍵-值對,並可返回值的引用。

STL map multimap用法詳解

使用map multimap之前要加入標頭檔案 include,map和multimap將key value當作元素,進行管理。它們可根據key的排序準則自動將元素排序。multimap允許重複元素,map不允許重複元素。map和multimap內部的資料結構也是平衡二叉樹。map和multimap...

常成員,常函式,常物件

知識點1.常物件中的任何型別的資料成員 無論私有還是公有 的值都不能被改變。知識點2.常物件能呼叫的 1.公有的常成員函式 2.建構函式 3.公有的靜態函式 知識點3.常物件與常成員函式只有同時存在才都有意義 知識點4.普通物件既可以呼叫常成員函式,也可以呼叫非常成員函式 知識點5.常成員函式不能更...

常物件,常成員函式,常引用

宣告顯示 const 型別說明符 物件名 常物件的資料成員值在物件的整個生存期間不能被改變,即就是,常物件必須進行初始化,而且不能被更新。宣告形式 型別說明符 函式名 參數列 const 注意 1.在函式定義部分也需要帶const關鍵字。2.乙個常物件只能呼叫它的常成員函式,是常物件唯一的對外介面方...