ch.h
来自「data struct algorithm and application in」· C头文件 代码 · 共 45 行
H
45 行
// 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 + =
减小字号Ctrl + -
显示快捷键?