STL無序容器

2021-08-20 06:05:50 字數 1545 閱讀 9961

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...