C 儲存資料結構之map

2021-06-19 00:39:13 字數 2544 閱讀 3955

map

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

1. map建構函式;

mapmapstring; mapmapint;

mapmapstring; map< char ,string>mapchar;

mapmapchar; mapmapint;

2. map

新增資料;

mapmaplive; 

1.maplive.insert(pair(102,"aclive"));

2.maplive.insert(map::value_type(321,"hai"));

3.maplive[112]="april";//map中最簡單最常用的插入新增!

3,map中元素的查詢:

find()

函式返回乙個迭代器指向鍵值為key的元素,如果沒找到就返回指向map尾部的迭代器。

map::iterator l_it;; 

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<<"we do not find 112"<

中元素的刪除:

如果刪除112;

map::iterator l_it;;

l_it=maplive.find(112);

if(l_it==maplive.end())

cout<<"we do not find 112"<

#include

using namespace std;

int main( )

{map m1, m2, m3;

map ::iterator m1_iter;

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

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

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

m2.insert ( pair ( 10, 100 ) );

m2.insert ( pair ( 20, 200 ) );

m3.insert ( pair ( 30, 300 ) );

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

for ( m1_iter = m1.begin( ); m1_iter != m1.end( ); m1_iter++ )

cout << " " << m1_iter->second;

cout << "." << endl;

// this is the member function version of swap

//m2 is said to be the argument map; m1 the target map

m1.swap( m2 );

6.map

的sort問題:

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

for example:

#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 m1is:"請按任意鍵繼續. . . 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的函式

C 之map的資料結構表示

關聯容器 也是adt 抽象資料型別 map,set,multiset,multimap 有序容器 vector,list 1.std map底層的資料結構為平衡二叉樹 紅黑樹 進行實現。2.二叉搜尋樹結構 class node def init self,data,color,parent self...

C 演算法與資料結構之map

管理元素集合的stl容器大致分為兩類。一類是有順序的集合,稱為序列式容器 另一類是經過排序的集合,稱為關聯式容器。序列式容器會將新新增的元素置於特定為位置,這個位置由插入的時間和地點決定,與元素本身的值無關。前面介紹過的vector和list就是很有代表性的序列式容器。相對地,關聯式容器會依據特定的...

資料結構之儲存結構

儲存結構是資料 的邏輯結構 用計算機語言的實現,常見的 儲存結構 有 順序儲存 鏈式儲存 索引儲存 以及雜湊儲存 其中雜湊所形成的儲存結構叫 雜湊表 又叫雜湊表 因此雜湊表也是一種儲存結構。棧只是一種抽象資料型別,是一種邏輯結構,棧邏輯結構對應的順序儲存結構為順序棧,對應的鏈式儲存結構為鏈棧 迴圈佇...