<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 無序容器(unordered containers) 一個無序容器實際上就是某種形式的蛤希表。C++0x提供四種標準的無序容器: * unordered_map * unordered_set * unordered_multimap * unordered_multiset 實際上,它們應該被稱為hash_map等。但是因為有很多地方已經在使用hash_map這樣的名字了,為了保證其兼容性,標準委員會不得不選擇新的名字。而unordered_map是我們所能夠找到的最好的名字了。無序(“unordered”)代表著map和unordered_map之間一個最本質的差別:當你使用map容器的時候,容器中的所有元素都是通過小于操作(默認情況下使用“`<`”操作符)排好序的,但是unordered_map并沒有對元素進行排序,所以它并不要求元素具有小于操作符。并且,一個哈希表也并添言地提供排序的功能。相反,map容器中的元素也并不要求具有哈希函數。 基本上,當代碼的優化是可能的并且我們有理由對其進行優化時,我們可以把unordered_map當作一個優化之后的map容器來使用。例如: ``` map<string,int> m { {“Dijkstra”,1972}, {“Scott”,1976}, {“Wilkes”,1967}, {“Hamming”,1968} }; m["Ritchie"] = 1983; for(auto x : m) cout << ‘{‘ << x.first << ‘,’ << x.second << ‘}’; // 使用優化之后的unordered_map unordered_map<string,int> um { {“Dijkstra”,1972}, {“Scott”,1976}, {“Wilkes”,1967}, {“Hamming”,1968} }; um["Ritchie"] = 1983; for(auto x : um) cout << ‘{‘ << x.first << ‘,’ << x.second << ‘}’; ``` map容器m的迭代器將以字母的順序訪問容器中的所有元素,而unordered_map容器um則并不按照這樣的順序(除非通過一些特殊的操作)。m和um兩者的查找功能的實現機制是非常不同的。對于m,它使用的是復雜度為log2(m.size())的小于比較,而um只是簡單地調用了一個哈希函數和一次或多次的相等比較。如果容器中的元素比較少(比如幾打),很難說哪一種容器更快,但是對于大量數據(比如數千個)而言,unordered_map容器的查找速度要比map容器快很多。 更多內容稍后提供。 參考: ? Standard: 23.5 Unordered associative containers. (翻譯:Yibo Zhu)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看