⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crackers.h

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 H
字号:
#ifndef _CRACKERS_H_#define _CRACKERS_H_/*#define DEBUG_CRACKERS*//*#define DEBUG_CRACKERS_INSERTIONS*/#ifdef WIN32#ifndef LIBCRACKERS#define crackers_export extern __declspec(dllimport)#else#define crackers_export extern __declspec(dllexport)#endif#else#define crackers_export extern#endiftypedef struct {	int bid;   /* the cracked bat */	int cbid;  /* the copy on which we actually crack */	int cid;   /* the index for this cracked bat */} CrackIndex;struct Node{        lng	      position;	bit 	      inclusive;	        struct Node  *left;        struct Node  *right;        int	      height;	bit	      head;	bit	      deleted;        struct Node  *previous;	bit 	      isPreviousSmaller;		lng	      hols; /* indicates how many hols exist before this piece */};typedef struct {	int 		bid;   		/* the stable bat */	int 		cbid;   	/* the cracker bat, i.e., the copy on which we actually crack */	int 		cid;   		/* the index for this cracked bat */	int 		iid;   		/* pending insertions bat */	int 		did;   		/* pending deletions bat */	struct Node 	*Tree; 		/* the AVL tree */	bit		reCreate;	/* indicates whether we need to recreate the index if we chose to forget it */	sht		mergeInsertions;/* indicates wether there are insertions to merge -->  -1 no insertions,												0 complete merge,												1 gradually,												2 ripple */	bit 		deleteNodes;    /* if true, merging operations will delete nodes form the index if it makes things easier */	bit 		mergeFromTheEnd;	sht		mergeDeletions; /* indicates wether there are insertions to merge -->  -1 no insertions,												0 complete merge,												1 gradually,												2 ripple */} CrackTreeIndex;typedef struct {	int		bid;	struct Node 	*Tree;	} AVLTreeIndex;crackers_export str CRKselect(int *vid, int *bid, int *low, int *hgh);crackers_export str CRKselectValue(int *vid, int *bid, int *value);crackers_export str CRKuselect(int *vid, int *bid, int *low, int *hgh);crackers_export str CRKuselectValue(int *vid, int *bid, int *value);crackers_export str CRKprintCrackerIndex(int *k, int *bid);crackers_export str CRKprintCrackerBAT(int *k, int *bid);crackers_export str CRKgetCrackerBAT(int *vid, int *bid);crackers_export str CRKsizeCrackerInsertions(int *k, int *bid);crackers_export str CRKsizeCrackerDeletions(int *k, int *bid);crackers_export str CRKprintCrackerInsertions(int *k, int *bid);crackers_export str CRKprintCrackerDeletions(int *k, int *bid);crackers_export str CRKmergeInsertions_Forget(int *k, int *bid, int *new);crackers_export str CRKmergeInsertions_OnNeed(int *k, int *bid, int *new, bit *deleteNodes);crackers_export str CRKmergeInsertionsB_OnNeed(int *k, int *bid, int *new);crackers_export str CRKmergeInsertions_OnNeedGradually(int *k, int *bid, int *new, bit *deleteNodes);crackers_export str CRKmergeInsertionsB_OnNeedGradually(int *k, int *bid, int *new);crackers_export str CRKmergeInsertions_OnNeedGraduallyRipple(int *k, int *bid, int *new, bit *deleteNodes);crackers_export str CRKmergeInsertionsB_OnNeedGraduallyRipple(int *k, int *bid, int *new);crackers_export str CRKextendCrackerBAT(int *k, int *bid, lng positions);crackers_export str CRKprintAVLTree_int(int *k, int *bid);crackers_export str CRKmergeDeletions_OnNeed(int *k, int *bid, int *new);crackers_export str CRKmergeDeletions_OnNeedGradually(int *k, int *bid, int *new);crackers_export str CRKmergeDeletions_OnNeedGraduallyRipple(int *k, int *bid, int *new);#endif /* _CRACKERS_H */   

⌨️ 快捷键说明

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