ADD file via upload
This commit is contained in:
parent
19355985cb
commit
3dbd8caab5
|
@ -0,0 +1,37 @@
|
|||
#ifndef __HASHMAP_H__
|
||||
#define __HASHMAP_H__
|
||||
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
#include<stdio.h>
|
||||
|
||||
|
||||
typedef struct entry {
|
||||
void* key;
|
||||
void* value;
|
||||
struct entry* next;
|
||||
} * Entry;
|
||||
|
||||
typedef struct hashMap {
|
||||
int size;
|
||||
int listSize;
|
||||
int (*hashCode)(void*);
|
||||
int (*equal)(void*, void*);
|
||||
Entry list;
|
||||
void (*put)(struct hashMap*, void*, void*);
|
||||
void* (*get)(struct hashMap*, void*);
|
||||
void (*remove)(struct hashMap*, void*);
|
||||
void (*clear)(struct hashMap*);
|
||||
int (*exists)(struct hashMap*, void*);
|
||||
int autoAssign;
|
||||
} * HashMap;
|
||||
|
||||
HashMap createHashMap(int listSize, int autoAssign);
|
||||
void defaultPut(HashMap map, void* key, void* value);
|
||||
void* defaultGet(HashMap map, void* key);
|
||||
void defaultRemove(HashMap map, void* key);
|
||||
void defaultClear(HashMap map);
|
||||
int defaultExists(HashMap map, void* key);
|
||||
void resetHashMap(HashMap map, int listSize);
|
||||
|
||||
#endif // !__HASHMAP_H__
|
Loading…
Reference in New Issue