Hash.h
上传用户:oldpeter23
上传日期:2013-01-09
资源大小:1111k
文件大小:1k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*------------------------------------------------------------------------------*
  2.  =============================
  3.    模块名称: HashChain.h
  4.  =============================
  5.  [目的]
  6.  
  7.    为了方便Hash表的使用.
  8.  [描述]
  9.  
  10.    这个模块实现了Hash表的基础类。它提供了对hash表的基本操作,如删除、
  11.    插入、查找等操作。
  12.  
  13.  [用法]
  14.  
  15.    这个模块用法很简单,我想用不着更多的说明. :-)
  16.  [依赖性]
  17.    无
  18.  [修改记录]
  19.  
  20.   日期:     01-10-12  
  21.   版本:     1.01       
  22.   作者:     Brant Q
  23.   备注:
  24.      
  25.  
  26.  [版权]
  27.   2000-2002  115软件工厂  版权所有
  28.    
  29.                                               
  30. *------------------------------------------------------------------------------*/
  31. #ifndef _HASH_H_
  32. #define _HASH_H_
  33. #define KEYLENGTH 64
  34. class CHashElem 
  35. {
  36.  public:
  37.     ~CHashElem(){  }
  38.     int Key;
  39.     int Val;
  40. CHashElem *pNext;
  41. };
  42. class CHash
  43. {
  44.  public:
  45.  CHash(int iSlots = 10);
  46.  ~CHash();
  47.  
  48.  bool QueryValue(const int Key,int & Val);
  49.  CHashElem*  QueryElem(const int iIndex);
  50.  bool Insert(int Key, int Val);
  51.  bool Remove(const int Key);
  52.  int GetLength();
  53.  int GetSlotNum();
  54.  protected:
  55.  
  56.  CHashElem **m_pHashSlots;
  57.  int m_iNumSlots; 
  58.  int m_iLength;
  59.  
  60. };
  61. #endif