⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch.h

📁 data structures, algorithms and Application书的源代码
💻 H
字号:

// file Chash.h
#ifndef ChainedHashTable_
#define ChainedHashTable_

#include "sochain.h" // sorted chain
#include <iostream.h>

template<class etype, class ktype>
class ChainHashTable {
   public:
      ChainHashTable(int divisor = 11); // constructor
      ~ChainHashTable() {delete [] ht;}
      int Search(ktype k, etype& e)
          {e.key = k; return ht[k % D].Search(e);}
      int Insert(etype e)
          {return ht[e.key % D].DistinctInsert(e);}
      int Delete(ktype k, etype& e)
          {e.key = k; return ht[k % D].Delete(e);}
      void Print();
   private:
      int D;
      SortedChain<etype> *ht;
};

template<class etype, class ktype>
ChainHashTable<etype, ktype>::ChainHashTable(int divisor)
{
   D = divisor;
   ht = new SortedChain<etype> [D];
   if (!ht)
    {cerr << "Out of memory" << endl;
     exit(1);}
}

template<class etype, class ktype>
void ChainHashTable<etype, ktype>::Print()
{
   for (int i = 0; i < D; i++) {
     cout << "Chain " << i << ' ';
     ht[i].Print();}
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -