bsttree.cpp

来自「用win32sdk实现的迷你阅读器」· C++ 代码 · 共 46 行

CPP
46
字号
#include"BSTTREE.h"

BSTNODE *BSTTREE::search(keytype k)
{
	BSTNODE *cur;
	cur=root;
	while(cur){
		if(k==cur->data.key) return cur;
		if(k<cur->data.key){parent=cur;cur=cur->lchild;}
		else{parent=cur;cur=cur->rchild;}
	}
	return 0;
}

void BSTTREE::insert(elemtype x)
{
	BSTNODE *cur;
	cur=new BSTNODE;
	cur->data=x;
	cur->lchild=cur->rchild=NULL;
	if(search(x.key)) return ;
	if(!root) 
		root=cur;
	else 
		if(x.key<parent->data.key)
			parent->lchild=cur;
	    else
			parent->rchild=cur;
}
void BSTTREE::deleteAll(BSTNODE *cur)
{
	if(cur==NULL){
		cur=root;
		root=NULL;
		parent=NULL;
	}
	if(cur){
		if(cur->lchild!=NULL)
			deleteAll(cur->lchild);
		if(cur->rchild!=NULL)
			deleteAll(cur->rchild);
	//	delete cur->data.MyStr;
		delete cur;
		cur=NULL;
	}
}

⌨️ 快捷键说明

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