📄 bplustree.h
字号:
// BPlusTree.h
#pragma once
#include "Node.h"
#define MAXRANDKEY 1024
#define MAXENTERKEY 100
class BPlusTree
{
public:
Node* my_root; //树根结点指针
Node* my_crtNode; //my current node
int my_level; //树高B+ tree 's level, can be modefied by outside function
int my_node; //树中结点总数
int my_key; //树中文件键值的总数
private:
int N;
int M;
public:
BPlusTree(int n=3);
~BPlusTree();
long* Search(long key); // if Null , there isn't this key
int Insert(long key,long* pkey); // return number of new node , -1 already this key ,-2 memory error
int Delete(long key); // return number of del node , -1 none this key , -2 there is no key in B+key
void Order(Node* root);
void Display();
private:
int SearchKey(Node* node,long key,int level);
bool InsertKey(long key,Node* pnode,int level);
bool SplitNode(Node* node,long key,Node* pnode,int level,int i);
void DeleteKey(long key,int level);
int JudgeNbrNode(Node* node,long key,int level,int i);
void Update(long key,int level);
void DisplayNode(Node* node);
void DelTree(Node* node);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -