c++c++11stlunordered-setstdset

Why would anyone use set instead of unordered_set?


C++0x is introducing unordered_set, which is available in boost and many other places. What I understand is that unordered_set is hash table with O(1) lookup complexity. On the other hand, set is nothing but a tree with log(n) lookup complexity.

Why on earth would anyone use set instead of unordered_set? I.e., is there a need for set anymore?


Solution

  • When, for someone who wants to iterate over the items of the set, the order matters.