btree.h
来自「代码注重B树插入、删除的算法逻辑」· C头文件 代码 · 共 68 行
H
68 行
#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 + =
减小字号Ctrl + -
显示快捷键?