最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中的哈希容器unordered_map使用示例

 更新時間:2015年06月10日 10:46:31   投稿:junjie  
這篇文章主要介紹了C++中的哈希容器unordered_map使用示例,本文直接給出實例代碼,并講解了一些hash table的知識,需要的朋友可以參考下

隨著C++0x標準的確立,C++的標準庫中也終于有了hash table這個東西。

很久以來,STL中都只提供<map>作為存放對應(yīng)關(guān)系的容器,內(nèi)部通常用紅黑樹實現(xiàn),據(jù)說原因是二叉平衡樹(如紅黑樹)的各種操作,插入、刪除、查找等,都是穩(wěn)定的時間復(fù)雜度,即O(log n);但是對于hash表來說,由于無法避免re-hash所帶來的性能問題,即使大多數(shù)情況下hash表的性能非常好,但是re-hash所帶來的不穩(wěn)定性在當時是不能容忍的。

不過由于hash表的性能優(yōu)勢,它的使用面還是很廣的,于是第三方的類庫基本都提供了支持,比如MSVC中的<hash_map>和Boost中的<boost/unordered_map.hpp>。后來Boost的unordered_map被吸納進了TR1 (C++ Technical Report 1),然后在C++0x中被最終定了標準。

于是我們現(xiàn)在就可以開心得寫以下的代碼了:

#include <iostream>
#include <string>
#include <unordered_map>
 
int main()
{
 std::unordered_map<std::string, int> months;
 months["january"] = 31;
 months["february"] = 28;
 months["march"] = 31;
 months["april"] = 30;
 months["may"] = 31;
 months["june"] = 30;
 months["july"] = 31;
 months["august"] = 31;
 months["september"] = 30;
 months["october"] = 31;
 months["november"] = 30;
 months["december"] = 31;
 std::cout << "september -> " << months["september"] << std::endl;
 std::cout << "april   -> " << months["april"] << std::endl;
 std::cout << "december -> " << months["december"] << std::endl;
 std::cout << "february -> " << months["february"] << std::endl;
 return 0;
}

相關(guān)文章

  • C語言數(shù)據(jù)結(jié)構(gòu)之迷宮問題

    C語言數(shù)據(jù)結(jié)構(gòu)之迷宮問題

    這篇文章主要為大家詳細介紹了C語言數(shù)據(jù)結(jié)構(gòu)之迷宮問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Qt實現(xiàn)制作簡單的計算器

    Qt實現(xiàn)制作簡單的計算器

    計算器是我們生活中很常見的東西,它可以由多種語言多種方式來實現(xiàn)。本文主要介紹的是利用Qt實現(xiàn)的簡易計算器的制作,文中的示例代碼講解詳細,需要的可以參考一下
    2022-12-12
  • C語言實現(xiàn)基于最大堆和最小堆的堆排序算法示例

    C語言實現(xiàn)基于最大堆和最小堆的堆排序算法示例

    這篇文章主要介紹了C語言實現(xiàn)基于最大堆和最小堆的堆排序算法示例,分別是基于最大堆的升序排序和基于最小堆的降序排序?qū)嵗?需要的朋友可以參考下
    2016-06-06
  • C語言make和Makefile介紹及使用

    C語言make和Makefile介紹及使用

    這篇文章介紹了C語言make和Makefile以及使用方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-01-01
  • C++制作俄羅斯方塊

    C++制作俄羅斯方塊

    俄羅斯方塊寫過好幾次了,每次的感覺都不一樣,都有新的收獲。就像達芬奇畫雞蛋一樣,雖然都是畫同樣的雞蛋,但是每次都有不同的收獲。&nbsp;
    2016-05-05
  • c++實現(xiàn)發(fā)送http請求通過get方式獲取網(wǎng)頁源代碼

    c++實現(xiàn)發(fā)送http請求通過get方式獲取網(wǎng)頁源代碼

    這篇文章主要介紹了c++實現(xiàn)發(fā)送http請求,通過get方式獲取網(wǎng)頁源代碼的示例,需要的朋友可以參考下
    2014-02-02
  • C語言實現(xiàn)基于控制臺的電子時鐘

    C語言實現(xiàn)基于控制臺的電子時鐘

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)基于控制臺的電子時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言實現(xiàn)簡單的掃雷功能

    C語言實現(xiàn)簡單的掃雷功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單的掃雷功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C++求兩數(shù)之和并返回下標詳解

    C++求兩數(shù)之和并返回下標詳解

    這篇文章主要介紹了C++求兩數(shù)之和并返回下標題目的代碼詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • gdb調(diào)試命令的使用及總結(jié)

    gdb調(diào)試命令的使用及總結(jié)

    gdb是一個在UNIX環(huán)境下的命令行調(diào)試工具。如果需要使用gdb調(diào)試程序,請在gcc時加上-g選項。下面的命令部分是簡化版,比如使用l代替list等等
    2013-05-05

最新評論

蕲春县| 淳安县| 额尔古纳市| 临清市| 白玉县| 青海省| 新蔡县| 望奎县| 民勤县| 大石桥市| 汉寿县| 开远市| 东乌| 远安县| 江北区| 阳曲县| 运城市| 行唐县| 柳林县| 德清县| 阿荣旗| 台南市| 永新县| 南漳县| 夏津县| 新河县| 武功县| 沐川县| 罗定市| 大石桥市| 达尔| 象州县| 罗田县| 承德市| 察雅县| 自贡市| 荣成市| 阿克苏市| 临泽县| 胶南市| 桓仁|