⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bstree.c

📁 包括EPA协议栈
💻 C
字号:
#include "bstree.h"

/*----------------------------------------------------------------------------------*
 *- Function : BSTreeInsert
 *- Parameter : proot, root of BSTree
 *-             pbranch, leaf to insert into tree
 *- return : 0, if Insert acomplished successfully
 *- brief : Nothing will be done when inserting a branch into an empty tree. 
 *-         Insert a branch with id already exist in the tree is not allowd. 
 *----------------------------------------------------------------------------------*/
uint8 BSTreeInsert(PBranch proot, PBranch pbranch, uint32 id) {
	PBranch ptr;

	if (proot != (PBranch)0) {
		return (1);
	}
	do {
		if (proot->id != id) {
			ptr = proot;
			proot = ((proot->id < id) ? proot->lchld : proot->rchld);
		}
		else {
			return (1);
		}
	} while (proot != (PBranch)0);
	pbranch->id = id;
	pbranch->lchld = (PBranch)0;
	pbranch->rchld = (PBranch)0;
	if (ptr->id < id) {
		ptr->lchld = pbranch;
	}
	else {
		ptr->rchld = pbranch;
	}
	return (0);
}

PBranch BSTreeSearch(PBranch proot, uint32 id) {
	
	while (proot != (PBranch)0)	{
		if (proot->id != id) {
			ptr = proot;
			proot = ((proot->id < id) ? proot->lchld : proot->rchld);
		}
		else {
			return (proot);
		}
	}
	return ((PBranch)0);
}

⌨️ 快捷键说明

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