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

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

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

隨著C++0x標(biāo)準(zhǔn)的確立,C++的標(biāo)準(zhǔn)庫中也終于有了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)定性在當(dāng)時是不能容忍的。

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

于是我們現(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)之迷宮問題

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

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

    計算器是我們生活中很常見的東西,它可以由多種語言多種方式來實現(xiàn)。本文主要介紹的是利用Qt實現(xiàn)的簡易計算器的制作,文中的示例代碼講解詳細(xì),需要的可以參考一下
    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以及使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C++制作俄羅斯方塊

    C++制作俄羅斯方塊

    俄羅斯方塊寫過好幾次了,每次的感覺都不一樣,都有新的收獲。就像達(dá)芬奇畫雞蛋一樣,雖然都是畫同樣的雞蛋,但是每次都有不同的收獲。&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)基于控制臺的電子時鐘

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

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

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

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

    這篇文章主要介紹了C++求兩數(shù)之和并返回下標(biāo)題目的代碼詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(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

最新評論

阿坝县| 珲春市| 牡丹江市| 新建县| 宁蒗| 扎赉特旗| 大荔县| 高淳县| 衡山县| 南郑县| 伊川县| 赣州市| 青岛市| 社旗县| 新田县| 综艺| 邢台县| 翁牛特旗| 扶风县| 固阳县| 济源市| 合作市| 寿阳县| 凤冈县| 余干县| 资兴市| 瑞昌市| 贡山| 黔南| 文昌市| 石河子市| 惠水县| 襄城县| 平凉市| 姜堰市| 贵德县| 阜宁县| 炎陵县| 乡宁县| 泰宁县| 郴州市|