📄 btree.h
字号:
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
#define K 20
#define M 5
#define MM 6
typedef char KeyType;
struct BTreeNode
{
int keynum;
BTreeNode* parent;
KeyType key[MM ];
BTreeNode* ptr[MM];
BTreeNode()
{
keynum = 0;
parent = NULL;
ptr[0] = NULL;
for(int i = 0 ;i < MM ;i++)
{
ptr[i] = NULL;
key[i] = '\0';
}
}
//指向记录的指针,有需要时可以加上
};
typedef BTreeNode* pBTreeNode;
class Queue
{
pBTreeNode que[K];
int front ,rear;
int size;
public:
Queue()
{front = rear = -1; size = 0;}
bool push(pBTreeNode x);
bool empty()
{
if(size == 0)
return true;
return false;
}
pBTreeNode getfront();
};
class BTree
{
int m;
public:
pBTreeNode T;
BTree(pBTreeNode t):T(t),m(M){}
BTree(){ m = M; T = NULL;}
int BSearch(KeyType k,pBTreeNode* p);
pBTreeNode Insert(KeyType k , bool& torf);
int MoveKey(pBTreeNode& p);
pBTreeNode Bmerge(pBTreeNode& p);
bool Delete(KeyType k);
pBTreeNode split(pBTreeNode& p);
void show();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -