使用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的元素
如果想往map/multimap中修改乙個對映的值,應先插入乙個新對映,再把與修改的對映刪除。
#include #include using namespace std;
int main()
cout << endl << endl;;
it = mymap.find('d');
mymap.insert(map::value_type('z', 40));
mymap.erase(it);
for (it = mymap.begin(); it != mymap.end(); it++)
iterator begin():返回首元素的迭代器指標
iterator end():返回尾元素的迭代器指標
reverse_iterator rbegin():返回尾元素的逆向迭代器指標
reverse_iterator rend():返回首元素前乙個位置的迭代器指標
const_iterator lower_bound(const key& key):返回鍵值大於等於key的迭代器指標reference operator(const key& k):僅在但對映map類中,可以以陣列的形式給對映新增鍵-值對,並可返回值的引用。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):交換多對映元素
參考:
STL map multimap 常用函式
使用map multimap之前要加入標頭檔案 include,map和multimap將key value當作元素,進行管理。它們可根據key的排序準則自動將元素排序。multimap允許重複元素,map不允許重複元素。map和multimap內部的資料結構也是平衡二叉樹。map和multimap...
用Margin還是用Padding
用margin還是用padding 何時應當使用margin 需要在border外側新增空白時。空白處不需要背景 色 時。上下相連的兩個盒子之間的空白,需要相互抵消時。如15px 20px的margin,將得到20px的空白。何時應當時用padding 需要在border內測新增空白時。空白處需要背...
用Margin還是用Padding
用margin還是用padding這個問題是每個學習css高階時的必經之路。css邊距屬性定義元素周圍的空間。通過使用單獨的屬性,可以對上 右 下 左的外邊距進行設定。也可以使用簡寫的外邊距屬性同時改變所有的外邊距。w3school 邊界 margin 元素周圍生成額外的空白區。空白區 通常是指其他...