`
yangshen998
  • 浏览: 1288829 次
文章分类
社区版块
存档分类
最新评论

查找二叉排序树中最大的键值(c代码)

 
阅读更多

#include<stdio.h>

#include<conio.h>
struct tree{
char key;
struct tree *Lchild,*Rchild;
};
struct tree *create_btree(struct tree *t,struct tree *r,char key)
{
if (r ==0 )
{
r=new (struct tree);
if ( r == 0)
{
printf("Out of memory/n"); return 0 ;
}
r->Lchild= 0; r->Rchild=0; r->key=key;
if (t)
{
if(key<t->key) t->Lchild=r;
else
t->Rchild=r;
}
else
{
r->Rchild=0; r->Lchild = 0;
}
return r;
}
if (key < r->key)
create_btree(r,r->Lchild,key);
if(key>=r->key)
create_btree(r,r->Rchild,key);
return t;
};
struct tree *search_btree(struct tree *t,char key1)
{ struct tree *p;
p=t;
if (!p)
{ printf("Empty btree/n"); return p; }
while(p->Rchild) {p=p->Rchild;};
printf("Successful search/n key1=%c/n",p->key);
return p;
};
void main()
{
char s[100], c, e,q;
struct tree *t=0, *p;
printf("Input a letter for Creating the Binary_Tree ( Directly press <Enter> to stop ):/n");
while (*s){
printf("/nInput a letter: ");

e=getch(); /*#include<conio.h>*/
putch(e); /*#include<conio.h>*/
if(e==13) break;
if (!t)
t=create_btree(t,t,e);
else
create_btree(t,t,e);
};
search_btree(t,0);
printf("/n");
printf("结束请按q!");
if(getchar()=='q') printf("再见");
else {while(1);};

}

分享到:
评论

相关推荐

    数据结构二叉排序树的源代码

    根据给定的信息,我们可以分析出该段代码主要实现了二叉排序树的基本操作,包括创建、插入元素、查找元素以及中序遍历等。下面将详细解释这些知识点。 ### 数据结构:二叉排序树 二叉排序树(Binary Search Tree, ...

    二叉排序树增删改查

    在iOS编程中,你可以使用Objective-C来定义二叉排序树的节点结构和相关的操作方法。例如,创建一个`BSTNode`类,包含键值、左右子节点指针以及插入、删除、修改和查找的方法。然后在你的应用程序中实例化这个类,...

    二叉排序树实现教师成果管理系统源码

    二叉排序树(Binary Sort Tree,BST),也称为二叉搜索树,是一种特殊的二叉树数据结构,它的每个节点都包含一个键值,且满足以下性质:对于任意节点,其左子树中所有节点的键值均小于该节点的键值;其右子树中所有...

    二叉排序树

    在C语言中实现二叉排序树通常涉及以下关键操作: 1. **创建节点**:创建一个结构体,包含键值、左子节点指针和右子节点指针。例如: ```c struct TreeNode { int key; struct TreeNode* left; struct TreeNode...

    用C语言编写二叉排序树

    给定的C语言源代码实现了一个基本的二叉排序树操作,包括: 1. **初始化二叉树**:`InitBiTree` 函数用于创建一个空的二叉排序树,将传入的指针设为NULL。 2. **查找操作**:`SearchBST` 函数通过递归方式查找指定...

    二叉排序数和平衡二叉树

    二叉排序树(Binary Sort Tree,BST)是一种特殊的二叉树数据结构,它的每个节点都包含一个键值,且满足以下性质:对于任意节点,其左子树中的所有节点的键值都小于该节点的键值,而右子树中的所有节点的键值都大于...

    C语言实现二叉排序树生成算法

    本文通过具体的C语言代码示例详细介绍了如何实现二叉排序树的生成算法,并重点探讨了如何构建一个平衡的二叉排序树。通过右旋、左旋以及平衡处理等操作,我们可以有效地保持二叉排序树的平衡性,进而提高查找、插入...

    折半查找、二叉排序树、链式哈希表的建立与查找

    本文详细介绍了折半查找、二叉排序树以及链式哈希表的建立与查找等关键概念和实现方法。通过这些基本的数据结构和算法,可以有效地管理和检索数据,提高程序的效率。理解并掌握这些知识点对于学习更高级的数据结构和...

    二叉排序树 二叉排序树

    二叉排序树,又称为二叉查找树或有序二叉树,它是一棵二叉树,具有以下性质: 1. **左子树**上的所有结点的值均小于它的根结点的值; 2. **右子树**上所有结点的值均大于它的根结点的值; 3. 左右子树也分别为二叉...

    数据结构 课程设计 二叉排序树查找C语言代码1 含测试序列.doc

    数据结构课程设计二叉排序树查找C语言代码1含测试序列.doc 数据结构是计算机科学中的一门基础学科,它研究如何组织、存储和操作数据,以提高算法的效率和性能。在这个项目中,我们将实现一个二叉排序树的查找算法,...

    平衡二叉排序树的算法实现

    在C或C++中实现平衡二叉排序树时,通常需要定义一个节点结构体,包含键值、颜色、子节点指针等成员,并实现插入、删除、查找、平衡调整等相关函数。具体实现时,需要注意内存管理,避免内存泄漏,同时确保代码的健壮...

    一个完美的二叉排序树操作

    此函数用于在一个给定的二叉排序树中查找指定的键值。 **实现思路:** 1. 如果当前节点为空,则返回`NULL`。 2. 如果当前节点的键值等于目标键值,则返回该节点。 3. 如果目标键值小于当前节点的键值,则递归地在左...

    二叉排序树的操作算法实现

    ### 二叉排序树的操作算法实现 #### 一、引言 在计算机科学领域,二叉排序树(Binary Search Tree,简称...此外,本文还提供了部分C语言实现的代码示例,有助于读者更好地理解和掌握二叉排序树的实现原理与编程技巧。

    数据结构二叉排序树C语言版

    根据给定的文件信息,我们可以总结出以下关于“数据结构二叉排序树C语言版...通过以上分析可以看出,这段代码实现了二叉排序树的基本功能,包括插入、遍历和查找操作,对于理解二叉排序树及其应用具有一定的参考价值。

    二叉排序树的基本算法 数据结构实验代码

    - 若有两个子节点,则找到右子树中的最小节点(或左子树中的最大节点),用它替换被删除节点,并删除这个最小(或最大)节点。 - 删除操作也需要通过递归实现,如`DeleteBST`函数所示。 通过以上内容的学习,可以...

    二叉排序树的建立,删除,查找,动态

    在二叉排序树中查找特定键值的节点,可以从根节点开始,如果待查找的键值小于当前节点的键值,就向左子树递归;如果待查找的键值大于当前节点的键值,则向右子树递归。若找到相应键值的节点,则返回该节点;若遍历...

    erchashu.rar_二叉排序树

    这些文件可能包含了完整的二叉排序树功能实现,包括结构定义、插入、查找、删除等函数的源代码,以及可能的测试用例。为了更深入理解这些功能,可以打开这些文件进行阅读和分析。通过实际的代码,可以更好地理解二叉...

    二叉排序树的建立、插入、删除和查找.doc

    4. **查找操作**:在二叉排序树中查找特定键值的数据元素。SearchBST1函数递归地遍历树,若找到匹配的键值,则返回指向该元素的指针,否则返回空指针。 程序的结构包括以下几个主要模块: 1. **Main()**:主函数,...

Global site tag (gtag.js) - Google Analytics