unordered_map
優點:有序性,這是map結構最大的優點,其元素的有序性在很多 應用中都會簡化很多的操作樹,內部實現乙個樹使得map的很多操作在logn的時間複雜度下就可以實現,因此效率非常的高
缺點:空間佔用率高,因為map內部實現了樹,雖然提高了執行效率,但是因為每乙個節點都需要額外儲存父節點,使得每乙個節點都占用大量的空間
適用處:對於那些有順序要求的問題,用map會更高效一些
mapmap;
//map的基本建構函式
mapint>strmap;
map<
int,string >intmap;
mapchar
>strmap;
map<
char
,string>charmap;
map<
char
,int
>charmap;
map<
int,
char
>intmap;
#include
#include
"string.h"
#include
"stdio.h"
#include
using
namespace std;
intmain()
cout
string
("jjhou")]
; cout
mapint>
::iterator iter1;
//面對關聯式容器,應該使用其所提供的find函式來搜尋元素,會比使用stl演算法find()更有效率。因為stl演算法find()只是迴圈搜尋。
iter1 = strmap.
find
(string
("mchen"))
;if(iter1 == strmap.
end())
cout<<
"mchen no fount"
find
(string
("jerry"))
;if(iter1 != strmap.
end())
cout<<
"jerry fount"
iter1-
>second =9;
//可以通過map迭代器修改「value」(not key)
int number1 = strmap[
string
("jerry")]
; cout/刪除元素
mapint>
::iterator strmap_iter1 = strmap.
begin()
;for
(;strmap_iter1 !=strmap.
end(
);strmap_iter1++
) cout
erase
(iter1)
;//刪除乙個條目
strmap.
erase
(string
("jason"))
;//根據鍵值刪除
mapint>
::iterator strmap_iter2 = strmap.
begin()
;for
(;strmap_iter2 !=strmap.
end(
);strmap_iter2++
)}
優點:因為內部實現了雜湊表,因此其查詢速度非常的快
缺點:雜湊表的建立比較耗費時間
適用處:對於查詢問題,unordered_map會更加高效一些,因此遇到查詢問題,常會考慮一下用unordered_map
unordered_map ump;
ump.
insert
(make_pair
(key, value)
);
或
ump.
insert
(map::
value_type
(key, value)
);
if
(umap.
find
(key)
!= umap.
end())
cout << key <<
"found "
cout << key <<
"not found "
<< endl;
或
ump.
count
(key)
!=0
unordered_map
::iterator i;
for(i=ump.
begin()
;i!=ump.
end(
);i++
)cout<>first<<
" "<>second
erase
("test"
);
auto it = ump.
find
(key);if
(it != ump.
end())
it->second = new_value;
C 學習筆記之容器
list 和 vector 2者都屬於容器,但list只有雙向迭代器,而vector卻有隨機訪問迭代器 迭代器的種類 前向迭代器 forward iterator 可對迭代器進行 操作雙向迭代器 bidirectional iterator 可對迭代器進行 和 操作隨機訪問迭代器 random ac...
C 學習筆記之異常
程式執行中需要處理異常 異常處理方法一 異常處理方法二 c 異常處理機制 異常處理基礎 例子1 除數為零的異常處理 ex17 1.cpp 除數為零的異常例子 include include using namespace std 定義異常類myexception class myexception ...
C 學習筆記之 引用
先宣告一下,這裡的內容大多是 c 程式設計思想 中的內容,我最近在學習c 覺得裡面的很多話不錯,另外例子也都自己實驗了一番,有些現象很有趣,希望與大家分享。引用 reference 就像能自動地被編譯器間接引用的常量型指標。常量型指標的含義就是常量修飾指標,即指的地方不變,但所指地方的內容可以改變。...