编辑“︁
C++11
”︁(章节)
跳转到导航
跳转到搜索
脚本错误:没有“Mainspace editnotice”这个模块。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
=== 雜湊表 === 在過去,不斷有要求想將雜湊表(無序關聯式容器)引進標準庫。只因為時間上的限制,雜湊表才沒有被標準庫所採納。雖然,雜湊表在最糟情況下(如果出現許多衝突(collision)的話)在效能上比不過平衡樹。但實際運用上,雜湊表的表現則較佳。 因為標準委員會還看不到有任何機會能將開放定址法標準化,所以目前衝突僅能透過[[#哈希表|鏈地址法(linear chaining)]]的方式處理。為避免與第三方函式庫發展的雜湊表發生名稱上的衝突,字首將採用unordered而非hash。 函式庫將引進四種雜湊表,其中差別在於底下兩個特性:是否接受具相同鍵值的項目(Equivalent keys),以及是否會將鍵值映射到相對應的資料(Associated values)。 {| class="wikitable" style="text-align: center" ! 雜湊表類型 !! 有無關聯值 !! 接受相同鍵值 |- | style="text-align: left" | <code>std::unordered_set</code> || {{no}} || {{no}} |- | style="text-align: left" | <code>std::unordered_multiset</code> || {{no}} || {{yes}} |- | style="text-align: left" | <code>std::unordered_map</code> || {{yes}} || {{no}} |- | style="text-align: left" | <code>std::unordered_multimap</code> || {{yes}} || {{yes}} |} 上述的類別將滿足對一個容器類別的要求,同時也提供存取其中元素的成員函式:<code>insert</code>,<code>erase</code>,<code>begin</code>,<code>end</code>。 雜湊表不需要對現有核心語言做擴展(雖然雜湊表的實作會利用到C++11新的語言特性),只會對標頭檔<code><nowiki><functional></nowiki></code>做些許擴展,並引入<code><nowiki><unordered_set></nowiki></code>和<code><nowiki><unordered_map></nowiki></code>兩個標頭檔。對於其它現有的類別不會有任何修改。同時,雜湊表也不會依賴其它標準庫的擴展功能。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息