STL中map使用詳解

2021-08-07 02:01:24 字數 2178 閱讀 3707

1.map中的建構函式

map(); // 預設建構函式

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

map(iterator begin, iterator end ); //區間建構函式

2.資料插入

①insert(pair(key1,value1))

例: mapmapstudent;

mapstudent.insert(pair(1, 「student_one」));

mapstudent.insert(pair(2, 「student_two」));

mapstudent.insert(pair(3, 「student_three」));

②insert(map::value_type(key1,value1))

例:mapmapstudent;

mapstudent.insert(map::value_type (1, 「student_one」));

mapstudent.insert(map::value_type (2, 「student_two」));

mapstudent.insert(map::value_type (3, 「student_three」));

③使用插入,如果mymap中不存在鍵值為"student_one"元素,那麼就執行插入操作

例:mapmapstudent;

mapstudent[1] =  「student_one」;

mapstudent[2] =  「student_two」;

mapstudent[3] =  「student_three」;

判斷是否插入成功:

std::pairinsert( constvalue_type& value ); //這裡的返回值:bool表示插入是否成功、iterator返回插入的位置

例:pair::iterator, bool> insert_pair;

insert_pair = mapstudent.insert(map::value_type (1, 「student_one」));

我們通過pair的第二個變數來知道是否插入成功,它的第乙個變數返回的是乙個map的迭代器,如果插入成功的話insert_pair.second應該是true的,否則為false。

3.資料的遍歷

①使用迭代器遍歷

例:map::reverse_iterator  iter;

for(iter = mapstudent.rbegin(); iter != mapstudent.rend(); iter++)

studentinfo, *pstudentinfo;  //學生資訊

mapmapstudent;

方法一:

typedef struct tagstudentinfo

}studentinfo, *pstudentinfo;  //學生資訊

方法二:

classs sort

};int main()

{//用學生資訊對映分數

mapmapstudent;

map函式列表

c++ maps是一種關聯式容器,包含「關鍵字/值」對

insert()   插入元素

erase()    刪除乙個元素

clear()   刪除所有元素

find()     查詢乙個元素

swap()     交換兩個map

begin()    返回指向map頭部的迭代器

end()      返回指向map末尾的迭代器

lower_bound() 返回鍵值》=給定元素的第乙個位置

upper_bound() 返回鍵值》給定元素的第乙個位置

rbegin()   返回乙個指向map尾部的逆向迭代器

rend()     返回乙個指向map頭部的逆向迭代器

empty()    如果map為空則返回true

max_size()    返回可以容納的最大元素個數

size()     返回map中元素的個數

count()    返回指定元素出現的次數

value_comp()   返回比較元素value的函式

key_comp()     返回比較元素key的函式

get_allocator()  返回map的配置器

equal_range()    返回特殊條目的迭代器對

STL中map的使用詳解

map本質上乙個平衡二叉樹 更準確地說是紅黑樹 那麼每個節點存放乙個資料,預設是key和value打包成乙個資料pair,以pair的形式存放在節點的,由此來看,pair裡面可以放任何資料,前提是pair必須可以比較大小,當然也可以自定義比較函式,而map的第三個引數就是指定自定義key的比較函式的...

STL中map用法詳解

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

STL中map用法詳解

說明 如果你具備一定的c template知識,即使你沒有接觸過stl,這個文章你也應該可能較輕易的看懂。本人水平有限,不當之處,望大家輔正。一 map概述 map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料處理...