chash.h

来自「一本全面剖析C++数据结构算法的书籍」· C头文件 代码 · 共 41 行

H
41
字号
// file Chash.h#ifndef ChainedHashTable_#define ChainedHashTable_#include <iostream.h>#include <stdlib.h>#include "sochain.h" // sorted chaintemplate<class E, class K>class ChainHashTable {   public:      ChainHashTable(int divisor = 11)         {D = divisor;          ht = new SortedChain<E,K> [D];}      ~ChainHashTable() {delete [] ht;}      bool Search(const K& k, E& e) const           {return ht[k % D].Search(k, e);}      ChainHashTable<E,K>& Insert(const E& e)           {ht[e % D].DistinctInsert(e);            return *this;}      ChainHashTable<E,K>& Delete(const K& k, E& e)           {ht[k % D].Delete(k, e);            return *this;}      void Output() const;   // output the table   private:      int D;                 // divisor      SortedChain<E,K> *ht;  // array of chains};template<class E, class K>void ChainHashTable<E,K>::Output() const{   SortedChain<E,K> c;   for (int i = 0; i < D; i++) {     cout << "Chain " << i << ' ';     ht[i].Output(cout);     cout << endl;}}#endif

⌨️ 快捷键说明

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