关于数据结构--不同的哈希表

基于哈希表的两个容器unordered_set  和vector。

unordered_set是无序的,不重复的储存容器,对于那些需要按一定顺序输出的内容只用unordered_set是报错的,他是按随机顺序输出的。

所以这时候往往需要同时利用两个容器。vector负责按插入顺序记录唯一元素。 

unordered_set 负责以O(1)的复杂度判断元素是否存在。

例如    单词去重:

#include 
#include 
#include 
#include 
using namespace std;
int main()
{
  string s;
  unordered_set has;
  vector  a;
  int n;
  cin>>n;
  for(int i=0;i>s;
         if(has.emplace(s).second){

              a.push_back(s);
         }
  }
    for (const auto& str : a) {
        cout << str << "\n";
    }
  // 请在此输入您的代码
  return 0;
}

你可能感兴趣的:(数据结构,散列表)