# include <stdio.h>
# include <stdlib.h>
# include "btrees.h"
/* 给一个结点分配空间 */
struct btnode * allocateNode(struct btnode *ptr){
int i,max;
ptr = (struct btnode *)malloc(sizeof(struct btnode));
if(!ptr){
printf("allocated error!\n");
exit(1);
}
max = 2*M;
for(i=0; i<max; i++)
ptr->p[i] = NULL; /* 初始化指针 */
memset(ptr->k, 0, (max-1)*sizeof(int)); /* 初始化键的值*/
return ptr;
}
/* 创建一个空的B树,就一个根结点 */
struct btnode * btreeCreate(struct btnode *root){
root = allocateNode(root);
root->keyNum = 0;
root->isleaf = 1;
return root;
}
/*函数目的:在B树中递归的搜索给定的数据,如果存在则返回数据所在节点和在节点中
* 的位置,不存在返回NULL
*/
/*
struct searchResult * btreeSearch(struct btree *root, int data){
int i=0;
struct searchResult result;
//找到节点中数据所在位置
while((i<(2*M-1)) && (data>root->