?? hashtable.h
字號:
/*
* Copyright (c) 2000-2008
* Author: Weiming Zhou
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*/
#ifndef __HASHTABLE_H__
#define __HASHTABLE_H__
#ifdef __cplusplus
extern "C" {
#endif
#define HASHTABLE_SIZE 32767
#define MAX_SEARCH_DEEP 30
typedef struct HASHTABLE {
SINGLENODE **ppBucket; /* 索引表指針 */
UINT uBucketCount; /* 索引表的大小. */
UINT uNodeCount; /* 表中的實際節點個數. */
UINT uCurBucketNo; /* 當前要執行的Bucket序號 */
SINGLENODE *pCurEntry; /* 當前bucket中的下一個要執行的節點條目 */
} HASHTABLE;
/*** Hash Table operation functions ***/
HASHTABLE * HashTable_Create(UINT uBucketCount);
void HashTable_Destroy(HASHTABLE *pTable,
DESTROYFUNC DestroyFunc );
INT HashTable_Insert( HASHTABLE *pTable,
void *pData,
HASHFUNC HashFunc);
void * HashTable_Find(HASHTABLE *pTable,
void *pData,
HASHFUNC HashFunc,
COMPAREFUNC CompareFunc);
INT HashTable_Delete(HASHTABLE *pTable,
void *pData,
HASHFUNC HashFunc,
COMPAREFUNC CompareFunc,
DESTROYFUNC DataDestroyFunc );
void HashTable_EnumBegin(HASHTABLE *pTable);
void * HashTable_EnumNext(HASHTABLE *pTable);
#ifdef __cplusplus
}
#endif
#endif /* __HASHTABLE_H__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -