程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++中的哈希容器unordered_map應用示例

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

編輯:關於C++

C++中的哈希容器unordered_map應用示例。本站提示廣大學習愛好者:(C++中的哈希容器unordered_map應用示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C++中的哈希容器unordered_map應用示例正文


跟著C++0x尺度切實其實立,C++的尺度庫中也終究有了hash table這個器械。

良久以來,STL中都只供給<map>作為寄存對應關系的容器,外部平日用紅黑樹完成,聽說緣由是二叉均衡樹(如紅黑樹)的各類操作,拔出、刪除、查找等,都是穩固的時光龐雜度,即O(log n);然則關於hash表來講,因為沒法防止re-hash所帶來的機能成績,即便年夜多半情形下hash表的機能異常好,然則re-hash所帶來的不穩固性在其時是不克不及容忍的。

不外因為hash表的機能優勢,它的應用面照樣很廣的,因而第三方的類庫根本都供給了支撐,好比MSVC中的<hash_map>和Boost中的<boost/unordered_map.hpp>。後來Boost的unordered_map被吸納進了TR1 (C++ Technical Report 1),然後在C++0x中被終究定了尺度。

因而我們如今便可以高興得寫以下的代碼了:

#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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved