📄 chash.h
字号:
// file Chash.h
#ifndef ChainedHashTable_
#define ChainedHashTable_
#include <iostream.h>
#include <stdlib.h>
#include "sochain.h" // sorted chain
template<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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -