📄 db.h
字号:
#ifndef _DB_H_
#define _DB_H_
#include <stdarg.h>
#define HASH_SIZE (256+27)
#define RED 0
#define BLACK 1
struct dbn {
struct dbn *parent,*left,*right;
int color;
void *key;
void *data;
};
struct dbt {
int (*cmp)(struct dbt*,void*,void*);
unsigned int (*hash)(struct dbt*,void*);
int maxlen;
struct dbn *ht[HASH_SIZE];
};
#define strdb_search(t,k) db_search((t),(void*)(k))
#define strdb_insert(t,k,d) db_insert((t),(void*)(k),(void*)(d))
#define strdb_erase(t,k) db_erase ((t),(void*)(k))
#define strdb_foreach db_foreach
#define strdb_final db_final
#define numdb_search(t,k) db_search((t),(void*)(k))
#define numdb_insert(t,k,d) db_insert((t),(void*)(k),(void*)(d))
#define numdb_erase(t,k) db_erase ((t),(void*)(k))
#define numdb_foreach db_foreach
#define numdb_final db_final
struct dbt* strdb_init(int maxlen);
struct dbt* numdb_init(void);
void* db_search(struct dbt *table,void* key);
struct dbn* db_insert(struct dbt *table,void* key,void* data);
void* db_erase(struct dbt *table,void* key);
void db_foreach(struct dbt*,int(*)(void*,void*,va_list),...);
void db_final(struct dbt*,int(*)(void*,void*,va_list),...);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -