二叉树操作集
来源:互联网 发布:淘宝宝贝收藏 编辑:程序博客网 时间:2024/06/09 21:48
BinTree Insert( BinTree BST,ElementType X )
{
if (BST ==NULL) {
BinTree Node =malloc(sizeof(structTNode));
Node->Data = X;
Node->Left = Node->Right =NULL;
BST = Node;
}else
{
if (X < BST->Data) {
BST->Left =Insert(BST->Left, X);
}elseif(X > BST->Data)
{
BST->Right =Insert(BST->Right, X);
}
}
return BST;
}
BinTree Delete( BinTree BST,ElementType X )
{
Position temp;
if (!BST) {
printf("Not Found\n");
}elseif (BST->Data > X) {
BST->Left =Delete(BST->Left, X);
}elseif (BST->Data < X)
{
BST->Right =Delete(BST->Right, X);
}else
{
if (BST->Left && BST->Right) {
temp = FindMin(BST->Right);
BST->Data = temp->Data;
BST->Right =Delete(BST->Right, temp->Data);
}else
{
temp = BST;
if (!BST->Left) {
BST = BST->Right;
}elseif(!BST->Right)
{
BST = BST->Left;
}
free(temp);
}
}
return BST;
}
Position Find( BinTree BST,ElementType X )
{
if (!BST) {
returnNULL;
}
if (BST->Data > X) {
returnFind(BST->Left, X);
}elseif(BST->Data < X)
{
returnFind(BST->Right, X);
}else
{
return BST;
}
}
Position FindMin( BinTree BST )
{
if (!BST) {
returnNULL;
}elseif(!BST->Left)
{
return BST;
}else
{
returnFindMin(BST->Left);
}
}
Position FindMax( BinTree BST )
{
if (BST) {
while (BST->Right) {
BST = BST->Right;
}
}
return BST;
}
- 二叉树操作集
- 二叉搜索树操作集
- 二叉搜索树的操作集
- 二叉搜索树的操作集
- 二叉搜索树的操作集
- 二叉搜索树的操作题集
- 二叉搜索树的操作集
- 二叉搜索树的操作集
- 二叉搜索树的操作集
- 二叉搜索树的操作集
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树常用操作
- 二叉树的操作
- 二叉树 常见操作
- 二叉树基本操作
- 二叉树相关操作
- hadoop之MapReduce练习-二次排序
- Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.2 Hive安装与配置)(草稿)
- Spring 源码解析IoC
- 在执行shell脚本时,出现“syntax error : unexpected end of file"错误的解决方法
- 【dp】51nod 1052 最大M子段和
- 二叉树操作集
- 称砝码
- ArcPy将地图文档 (.mxd) 文件转换为服务定义草稿 (.sddraft) 文件
- Computer Networking——application layer QA
- 子网划分的两个例子
- kaggle入门指南
- 网络相关
- 微信小程序开发—关于配置服务器域名
- Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml