unordered_map和unordered_set的實現方式為雜湊函式,所以無序關聯容器不會根據key值對儲存的元素進行排序。
#include
using
namespace
std;
typedef pair pss;
int main()
; string s="abc";
u_map[s]++;//使用下標插入
u_map.insert(p1);//使用nsert函式插入乙個pair
u_map.insert(,});//插入乙個初始化列表
vector
vp=,};
u_map.insert(vp.begin(),vp.end());//插入乙個迭代器範圍
for(auto x:u_map)
cout
<" "
0;}
unordered_map
u_map;
vector
vp=,,,};
u_map.insert(vp.begin(),vp.end());
auto it=u_map.find("qq");
if(it!=u_map.end())
cout
u_map;
vector
vp=,,,};
u_map.insert(vp.begin(),vp.end());
u_map.erase("www");//直接按照key值刪除
for(auto x:u_map)
cout
<" "
u_map;
vector
vp=,,,};
u_map.insert(vp.begin(),vp.end());
for(auto i=0;ifor(auto it=u_map.begin(i);it!=u_map.end(i);it++)//迭代器中新增引數,選擇桶的編號
,,,};
u_map.insert(vp.begin(),vp.end());
string_int_map::hasher fn=u_map.hash_function();
for(auto it=vp.begin();it!=vp.end();it++)
bool
operator==(const node& n) const
//過載==運算子
};struct myhash//自定義hash函式
};int main()
); return
0;}
typedef
unordered_set
usi;
struct node
bool
operator==(const node& n) const
//過載==運算子
};struct myhash
};//宣告的時候這樣使用unordered_set
STL 無序容器
新標準定義了 4個無序關聯容器。這些容器不是使用比較運算子來組織元素,而是使用乙個雜湊函式和關鍵字型別的 運算子。在元素沒有明顯的序關係的情況下,無序容器是非常有用的。include include using namespace std intmain for auto i unor map re...
11 4 無序容器
目錄共有四種無序容器 unorder set unorder map unorder multiset unorder multimap 有序容器用比較運算子組織元素 無序容器用hash函式和關鍵字型別的 組織元素 何時使用 如果關鍵字本身是無序的,且發現問題可以轉換為用hash技術解決,就應該採用...
C 容器(STL容器)
容器 container 用於存放資料的類模板。可變長陣列 鍊錶 平衡二叉樹等資料結構在stl中都被實現為容器。在使用容器時,即將容器類模型例項化為容器類,會指明容器中存放的元素是什麼型別。容器可以分為兩大類 順序容器和關聯容器 順序容器有可變長動態陣列vector 雙端佇列deque 雙向鍊錶li...