2017-08-23 45 views
0

我只想要無序映射如何將數據存儲到存儲區以及它正在實現的哈希函數中。另外,哈希函數i的內部實現想知道在C++中。數據如何存儲在什麼基礎上? 在此先感謝:)數據如何存儲/我們如何獲取存儲在unordered_map存儲桶中的數據11

+1

https://stackoverflow.com/questions/31112852/how-stdunordered-map-is-implemented – Nipun

+0

'std :: unordered_map'的標準沒有規定一種訪問存儲桶的方法,只有單個元素。 – vu1p3n0x

+0

@ vu1p3n0x是和否。請參閱「Bucket界面」部分[此處](http://en.cppreference.com/w/cpp/container/unordered_map)。 – Angew

回答

2

標準庫的不同實現可以使用不同的哈希算法,存儲細節等。由於代碼invovles模板,大多數(如果不是全部)標準庫實現包含標頭中的相關代碼。因此,您可以打開標準庫中附帶的<unordered_map>標題並開始查找。

+0

但是,如果我看到像這樣的內部實現無法理解它。所以,如果我寫一個簡單的程序爲同一個,並獲得它存儲在內部桶存儲數據它是如何做的那麼只有我可以知道。 nordered_map mymap = {{「Shashi」,「Singh」}, {「Sumit」,「Arora」}, {「Kunal」,「Yadav」}, { 「Bhargavi」,「Boddapati」}, {「Biplab」,「Kundu」}, {「Satyaraj」,「Natarajan」} }; ....現在請告訴我它是如何在桶中得到的:)請致:) –

+0

@shashisingh你**不要**使用內部實現。你使用公共成員。 **尤其是**如果你不明白'' – Caleth

+1

@shashisingh的內容我很困惑。無論你是在實現細節之後(如你的問題似乎表明),在這種情況下研究實現(你當然需要足夠的C++和數據結構理解)。或者你想知道如何使用一個無序的地圖,在這種情況下,諮詢合適的[參考](http://en.cppreference.com/w/cpp/container/unordered_map)應該適合你。 – Angew

相關問題