根据以下链接 - http://www.cplusplus.com/reference/set/set/ C++ 的 STL 中的集合通常实现为二叉搜索树,我能够在集合等情况下衡量数据类型的行为整数或字符或浮点数或字符串,因为在这些情况下,很容易看到 BST 排序被强加于集合元素,但考虑到集合的二叉搜索树数据结构实现,我无法想象以下内容使用二叉搜索树实现的数据类型:
set<vector<int>>
或set<vector<string>>
或set<vector<double>>
或set<list<int>>
set<map<int, int>>
set<stack<int>>
或者对于许多其他数据类型,如何为这些类型分配内存以及如何维护顺序。
此外,我无法弄清楚以下内容,每当将新向量添加到集合中时,集合数据类型是否会在内部检查集合中的所有向量的相似性或所有映射的相似性,这些是我无法做到的弄清楚。如果有人可以帮助我想象这些概念,那就太好了。
提前致谢 :)