www.pudn.com > vc-network-communication.rar > Hash.h


/*------------------------------------------------------------------------------*\ 
 ============================= 
   模块名称: HashChain.h 
 ============================= 
 
 [目的] 
  
   为了方便Hash表的使用. 
 
 [描述] 
  
   这个模块实现了Hash表的基础类。它提供了对hash表的基本操作,如删除、 
   插入、查找等操作。 
  
 [用法] 
  
   这个模块用法很简单,我想用不着更多的说明. :-) 
 
 [依赖性] 
 
   无 
 
 [修改记录] 
  
  日期:     01-10-12   
  版本:     1.01        
  作者:     Brant Q 
  备注: 
      
	  
 
 
 [版权] 
	 
	  2000-2002  115软件工厂  版权所有 
    
                                               
\*------------------------------------------------------------------------------*/ 
 
#ifndef _HASH_H_ 
#define _HASH_H_ 
 
#define KEYLENGTH 64 
 
class CHashElem  
{ 
 public: 
    ~CHashElem(){  } 
    int Key; 
    int Val; 
	CHashElem *pNext; 
}; 
 
class CHash 
{ 
 public: 
	 CHash(int iSlots = 10); 
	 ~CHash(); 
	  
	 bool QueryValue(const int Key,int & Val); 
	 CHashElem*  QueryElem(const int iIndex); 
 
	 bool Insert(int Key, int Val); 
	 bool Remove(const int Key); 
 
	 int GetLength(); 
	 int GetSlotNum(); 
 
 protected: 
	  
	 CHashElem **m_pHashSlots; 
	 int m_iNumSlots;  
	 int m_iLength; 
	  
}; 
 
 
 
#endif