根據以下鏈接 - http://www.cplusplus.com/reference/set/set/在C++的STL中的集合通常實現爲二叉搜索樹,我能夠在諸如整數或字符集或浮點數或字符串的情況下評估數據類型的行爲,如在這些情況下很容易看到BST排序被強加在集合元素上,但考慮到集合的二叉搜索樹數據結構實現,我無法想象如何使用二叉搜索樹實現以下數據類型:在C++中設置實現?
set<vector<int>>
或set<vector<string>>
或set<vector<double>>
或set<list<int>>
set<map<int, int>>
set<stack<int>>
或與此有關的許多其他數據類型,如何分配給這些類型的內存,以及如何保持排序。
此外,無論何時將新矢量添加到集合中,集合數據類型是否內部檢查集合中的所有矢量用於相似度還是所有用於相似度的地圖,我都無法弄清楚以下內容:我無法弄清楚。如果有人能幫助我想象這些概念,那將是非常棒的。
感謝提前:)
內存分配相同(即代替'new int'它是'new vector'),並且排序也是一樣的(使用'operator <')(例如,[這裏是一個鏈接]( http://en.cppreference.com/w/cpp/container/vector/operator_cmp)給vector的比較運算符)。 –
Cornstalks
2013-04-07 16:02:36