hashtable.h

来自「指针链表」· C头文件 代码 · 共 48 行

H
48
字号
/*
作者:kyo wang
你可以使用并传播此代码,但必须保留此注释部分
*/
#ifndef __HASH_TABLE_HEADER__
#define __HASH_TABLE_HEADER__

#include "ptrcontrol.h"

#define DEFAULT_HASH_TABLE_SIZE		1024

class CHashTable
{
	typedef unsigned long DATAPTR ;

public:
	CHashTable(int nSize=DEFAULT_HASH_TABLE_SIZE) ;
	~CHashTable() ;

public:
	// add special data by hash index
	void AddData(int nHashIndex, void *pData) ;

	// set special data by hash index
	void SetData(int nHashIndex, void *pData) ;

	// if no data in pos, return NULL,
	// NOTE : sometimes, data is NULL, so you should check if the
	//        data is available
	void *FindData(int nHashIndex) ;

	// delete special data by hash index
	// NOTE : sometimes, data is NULL, so you should check if the
	//        data is available
	void *DeleteHash(int nHashIndex) ;

	// check if Index is available
	bool IsDataAvailable(int nHashIndex) ;
	
private:
	void InitHashTable(void) ;

private:
	DATAPTR *m_pHashData ;
	int		m_nHashSize ;
} ;

#endif //__HASH_TABLE_HEADER__

⌨️ 快捷键说明

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