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

📄 demo_btree.c

📁 用Borland C写的B-Tree算法
💻 C
字号:
/***************************************************************************** * btree-mem-long/demo_btree.c * * COPYRIGHT (c) 1995, 1997 by David Van Wagner ALL RIGHTS RESERVED * Source and executables may be distributed under the terms of the GNU * General Public License version 2, see the file COPYING for details. * * davevw@alumni.cse.ucsc.edu * http://alumni.cse.ucsc.edu/~davevw/ *****************************************************************************/#include <stdio.h>#include "btree.h"BTREE *tree;void menu_display(){	printf("a=add, d=delete, e=empty, f=find, m=menu, p=print, q=quit\n");}void menu_response(char *c, long *n){	char s[1024];	printf("> ");	fflush(stdout);	*n = 0;	if (fgets(s, sizeof(s), stdin) == NULL)		*c = 'q';	else {		*c = *s;		if (strlen(s) > 1)			*n = atol(s+1);	}}void menu_do(char c, BTREE_KEY n){	BTREE_POS pos;	BTREE *node;	switch (c) {		case 'a':			node = btree_add(tree, n, &pos);			printf("added at %lX, index %d\n", (long unsigned)node, pos);			while (tree->parent != NULL)				tree = tree->parent;			break;		case 'c':			printf("count of elements in tree = %ld\n", btree_count(tree));			break;		case 'd':			node = btree_find(tree, n, &pos);			if (pos == -1)				printf("%ld not found\n", n);			else				btree_delete(node, pos);			break;		case 'e':			btree_free(tree);			if (n > 2 && n%2 == 1)				BTREE_ORDER = n;			tree = btree_new();			break;		case 'f':			node = btree_find(tree, n, &pos);			if (pos == -1)				printf("%ld not found\n", n);			else				printf("found at %lX, index %d\n", (long unsigned)node, pos);			break;		case 'p':			btree_display2(tree, 0);			break;		case 'm':		default:			menu_display();			break;	}}int main(int argc, char *argv[]){	char c;	BTREE_KEY n;	BTREE_ORDER = 3;	tree = btree_new();	printf("demo_btree\n\n");	menu_display();	do {		menu_response(&c, &n);		if (c != 'q')			menu_do(c, n);	} while (c != 'q');	return 0;}

⌨️ 快捷键说明

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