相关疑难解决方法(0)

HashMap和Hashtable之间的区别?

Java中的a HashMap和a有什么区别Hashtable

哪个非线程应用程序更有效?

java collections hashtable hashmap

3604
推荐指数
32
解决办法
149万
查看次数

为什么有人会使用set而不是unordered_set?

C++ 0x正在引入unordered_set,可以在boost许多其他地方使用.我理解的是unordered_set具有O(1)查找复杂性的哈希表.另一方面,set只是具有log(n)查找复杂性的树.为什么人们会使用set而不是unordered_set?即是否需要set了?

c++ algorithm data-structures c++11

134
推荐指数
10
解决办法
6万
查看次数

C++ unordered_set向量

我可以在C++中创建一个无序的向量集吗?这样的事情

std::unordered_set<std::vector<int>> s1;
Run Code Online (Sandbox Code Playgroud)

因为我知道std lib的"set"类是可能的,但似乎它不适用于无序版本谢谢

更新:这是我正在尝试使用的确切代码

typedef int CustomerId;
typedef std::vector<CustomerId> Route;
typedef std::unordered_set<Route> Plan;

// ... in the main
Route r1 = { 4, 5, 2, 10 };
Route r2 = { 1, 3, 8 , 6 };
Route r3 = { 9, 7 };
Plan p = { r1, r2 };
Run Code Online (Sandbox Code Playgroud)

如果我使用set,它可以,但在尝试使用无序版本时收到编译错误

main.cpp:46:11: error: non-aggregate type 'Route' (aka 'vector<CustomerId>') cannot be initialized with an initializer list
    Route r3 = { 9, 7 };
Run Code Online (Sandbox Code Playgroud)

c++ vector c++11

22
推荐指数
1
解决办法
1万
查看次数

我应该使用std :: set或std :: unordered_set作为一组指针吗?

我有一套指针.在第一步中,我插入数据指针,在第二步中,我遍历整个集合并对元素执行某些操作.顺序并不重要,我只需要避免重复,这与指针比较工作正常.

我的问题是,为同一目的使用无序集是否有利.对于无序集合,插入速度更快吗?

c++ performance set

11
推荐指数
1
解决办法
2164
查看次数