创建二叉排序树,先序遍历,中序遍历,判断是否存在关键点
来源:互联网 发布:杨凯 黄金分割线 源码 编辑:程序博客网 时间:2024/05/17 23:53
创建二叉排序树,先序遍历,中序遍历,判断是否存在关键点
这是所要创建的二叉排序树,a[10] = {4, 5, 2, 1, 0, 9, 3, 7, 6, 8},请先在草稿纸上画出图形,再看程序
代码实现:
#include <stdio.h>#include <stdlib.h>typedef struct BTNode{int key,cout;struct BTNode *lchild;struct BTNode *rchild;}BTNode;//创建二叉排序树 bool BSTInsert(BTNode *&bt,int x){if(bt==NULL){bt=(BTNode*)malloc(sizeof(BTNode));bt->key=x;bt->lchild=bt->rchild=NULL;return true;}if(x==bt->key)return false; if(x>bt->key)return BSTInsert(bt->rchild,x); elsereturn BSTInsert(bt->lchild,x);}//先序遍历 void PreOrderTraverse(BTNode *bt){if(bt){printf("%d ",bt->key);PreOrderTraverse(bt->lchild);PreOrderTraverse(bt->rchild);}}//中序遍历 void InOrderTraverse(BTNode *bt){if(bt){InOrderTraverse(bt->lchild);printf("%d ",bt->key);InOrderTraverse(bt->rchild);}}//查找关键点是否存在 bool BSTSearch(BTNode *bt,int x){//找到关键字返回1,否则返回0 if(!bt){return 0;}else{if(bt->key==x)return 1;else if(bt->key>x)return BSTSearch(bt->lchild,x);elsereturn BSTSearch(bt->rchild,x);}}int main(int argc, char *argv[]){int i,a[10] = {4, 5, 2, 1, 0, 9, 3, 7, 6, 8}; struct BTNode *bt=NULL;for(i=0;i<10;++i){BSTInsert(bt,a[i]);}printf("%d\n",BSTSearch(bt,6));printf("先序遍历:"); PreOrderTraverse(bt);printf("\n中序遍历:");InOrderTraverse(bt); printf("\n");return 0;}输出结果:
1先序遍历:4 2 1 0 3 5 9 7 6 8中序遍历:0 1 2 3 4 5 6 7 8 9请按任意键继续. . .
阅读全文
0 0
- 创建二叉排序树,先序遍历,中序遍历,判断是否存在关键点
- 生成二叉排序树并先序遍历、中序遍历、后序遍历
- 先序遍历和中序遍历创建二叉树
- c++二叉排序树+中序遍历
- 二叉排序树的中序遍历
- 用深度遍历和广度遍历判断有向图中两个点之间是否存在路径java
- 判断二叉排序树的后序遍历是否合法
- C++ 二叉树实现 创建,先序遍历,中序遍历,后序遍历
- 二叉树的创建,先序遍历,中序遍历,后序遍历
- 创建一个二叉树(先序遍历、中序遍历、后序遍历)
- 二叉树创建、先序遍历、中序遍历、后序遍历、树深度
- 根据中序遍历和先序遍历,后序遍历创建二叉树。
- //二叉树的(二叉排序树)建立和先序遍历
- [树]二叉排序树的建立与先序遍历
- 二叉排序树,二叉树的中序,先序,后序遍历
- 二叉排序树的建立、先序/中序/后序遍历、查找
- 用java构建二叉排序树,实现先序,中序和后序遍历
- 根据输入的数据,建立二叉排序树,并求先、中、后序遍历
- [学习笔记]Python 常用函数
- QLabel和QTimer之滚动字幕
- 网络优化之 BinaryNet
- 编译安装LAMP之安装Apache+php
- Ubuntu 快速搭建SVN服务器及日常使用
- 创建二叉排序树,先序遍历,中序遍历,判断是否存在关键点
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 网络优化之SqueezeNet
- 序列化
- 编译安装Nginx+php
- 为啥你会觉得很忙或者很闲
- CentOS 7下 ifconfig command not found
- 使用Maven搭建Struts2.3.34项目
- map函数