C 學習(二) C map的基本操作和使用

2021-09-25 09:10:46 字數 3362 閱讀 2003

map是c++的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!

1. map最基本的建構函式:

mapmapstring;

mapmapint;

mapmapstring;

mapmapchar;

mapmapchar;

mapmapint;

2. map新增資料:

mapmapname;  

mapname.insert(pair(102,"liao"));

mapname.insert(map::value_type(321,"xiaona"));

mapname[112] = "hahaha";//map中最簡單最常用的插入新增!

3. map中元素的查詢:

// find 返回迭代器指向當前查詢元素的位置否則返回map::end()位置

iter = mapname.find("102");

if(iter != mapname.end())

cout<<"find, the value is"4. map中元素的刪除:

//迭代器刪除

iter = mapname.find("123");

mapname.erase(iter);

//用關鍵字刪除

int n = mapname.erase("123"); //如果刪除了會返回1,否則返回0

//用迭代器範圍刪除 : 把整個map清空

mapname.erase(mapname.begin(), mapstudent.end());

//等同於mapname.clear()

5. map中 swap的用法:

map中的swap不是乙個容器中的元素交換,而是兩個容器交換;

#include #include using namespace std;

int main( )

6.map的sort問題:

map中的元素是自動按key公升序排序,所以不能對map用sort函式:

#include #include using namespace std;

int main( )

{   map m1;

map ::iterator m1_iter;

m1.insert ( pair ( 1, 20 ) );

m1.insert ( pair ( 4, 40 ) );

m1.insert ( pair ( 3, 60 ) );

m1.insert ( pair ( 2, 50 ) );

m1.insert ( pair ( 6, 40 ) );

m1.insert ( pair ( 7, 30 ) );

cout << "the original map m1 is:"the original map m1 is:

1 20

2 50

3 60

4 40

6 40

7 30

請按任意鍵繼續. . .

7,   map的基本操作函式:

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

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

clear()         刪除所有元素

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

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

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

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

erase()          刪除乙個元素

find()           查詢乙個元素

get_allocator()  返回map的配置器

insert()         插入元素

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

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

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

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

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

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

swap()            交換兩個map

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

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

string相關

string: string的若干初始化方法

string test1;    //空串

string test2 = "內容"; //使用=

string test3("內容");   //使用引用字元陣列作為引數傳給建構函式

string test4(test2); //用乙個string初始化另一而string

string test5(test2,pos,num); //從test2中的第pos個位置開始,拷貝個數為num個字元

string test6 = test2 + "內容" + test3 //混合初始化

string test7 = test2.substr(pos,num); //從test2中的第pos個位置開始,拷貝個數為num個字元

string test8 = test2.substr(); //引數列表為空則會拷貝test2的整個物件(複製test2的簡便方法)

string test9(num,ch); //拷貝num個字元型ch到test

C map的基本操作和使用

map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...

c map的基本操作和用法

1 map簡介 map是一類關聯式容器。它的特點是增加和刪除節點對迭代器的影響很小,除了那個操作節點,對其他的節點都沒有什麼影響。對於迭代器來說,可以修改實值,而不能修改key。2 map的功能 自動建立key value的對應。key 和 value可以是任意你需要的型別。根據key值快速查詢記錄...

C map的基本操作和使用

map是c 的乙個標準容器,她提供了很好一對一的關係,在一些程式中建立乙個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作!1.map最基本的建構函式 mapmapstring mapmapint mapmapstring map char string mapchar mapmap...