我想知道如何在C++中实现一个集合.如果我在不使用STL提供的容器的情况下实现自己的set容器,那么最好的方法是什么呢?
我理解STL集基于二叉搜索树的抽象数据结构.那么底层数据结构是什么?数组?
另外,如何insert()为一组工作?set如何检查元素是否已经存在?
我在维基百科上读到,实现集合的另一种方法是使用哈希表.这怎么样?
可能重复:
函数sort()中使用了哪种类型的排序?
std :: sort实现Quicksort吗?
我试图使用C++ 17标准中提出的新并行库功能,但我无法使其工作.我试着用的了最新版本的编译g++ 8.1.1和clang++-6.0和-std=c++17,但也似乎支持#include <execution>,std::execution::par或任何类似.
声称,在查看并行算法的cppreference时,有很多算法列表
技术规范提供以下69种算法的并行化版本
algorithm,numeric并且memory:( ...长列表...)
听起来像算法已经准备好'在纸上',但尚未准备好使用?
在一年多前的SO问题中,答案声称这些功能尚未实现.但到现在为止,我希望看到某种实现方式.有什么我们可以使用的吗?
正如在标题中 - 什么是内存的复杂性std::sort()和std::sort_heap()?(后者需要std::make_heap()这样,我也想知道它的内存复杂性.)
我试过在这些网站上搜索:http ://www.cplusplus.com/reference/ http://en.cppreference.com/w/但是我错过了它或者他们只提到了时间的复杂性.是否在任何地方指定了所述函数的内存复杂性(在C++标准或其他文档中)?或者这可能是依赖于实现的?