STL漂亮的寫法

map

unordered_map(等價於hash_map)和map用法相似。unordered_map不會根據key的大小進行排序,
map
內部數據的組織,基於紅黑樹實現,紅黑樹具備自動排序的功能,所以map內部全部的數據,在任什麼時候候,都是有序的。
unordered_map(hash_map)
基於哈希表,數據插入和查找的時間複雜度很低,幾乎是常數時間,而代價是消耗比較多的內存。底層實現上,使用一個下標範圍比較大的數組來存儲元素,造成不少的桶,利用hash函數對key進行映射到不一樣區域進行保存。數組

map<string, vector<string>> aMap;//或替換爲hash_map
    vector<vector<string>> aResult;

    for (auto s : strs) {
        string ss = s;
        sort(ss.begin(), ss.end());
        aMap[ss].push_back(s);
    }
    for (auto s : aMap) {
        aResult.push_back(s.second);
    }
相關文章
相關標籤/搜索