根据以下链接 - 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