二叉排序树的遍历及输出
来源:互联网 发布:dota1深渊领主技能数据 编辑:程序博客网 时间:2024/04/30 16:35
#include<stdio.h>
#include<stdlib.h>
typedef struct node{//BST节点
int key;
struct node *lchild,*rchild;
}BSTNode,*BSTree;
void InsertBST(BSTree *bst,int key){//插入程序
BSTree s;
if(*bst==NULL){
s=(BSTree)malloc(sizeof(BSTNode));
s->key=key;
s->lchild=NULL;s->rchild=NULL;
*bst=s;
}
else if(key<(*bst)->key)
InsertBST(&((*bst)->lchild),key);
else if(key>(*bst)->key)
InsertBST(&((*bst)->rchild),key);
}
void CreateBST(BSTree *bst){//调用插入,实现BST的建立
int key;
*bst=NULL;
scanf("%d",&key);
while(key!=-1){
InsertBST(bst,key);
scanf("%d",&key);
}
}
void mid(BSTree *bst){//BST中序遍历是一个递增的序列
if(*bst){
mid(&((*bst)->lchild));
printf("%d ",(*bst)->key);
mid(&((*bst)->rchild));
}
}
void main(){
BSTree p;
CreateBST(&p);
mid(&p);
}
#include<stdlib.h>
typedef struct node{//BST节点
int key;
struct node *lchild,*rchild;
}BSTNode,*BSTree;
void InsertBST(BSTree *bst,int key){//插入程序
BSTree s;
if(*bst==NULL){
s=(BSTree)malloc(sizeof(BSTNode));
s->key=key;
s->lchild=NULL;s->rchild=NULL;
*bst=s;
}
else if(key<(*bst)->key)
InsertBST(&((*bst)->lchild),key);
else if(key>(*bst)->key)
InsertBST(&((*bst)->rchild),key);
}
void CreateBST(BSTree *bst){//调用插入,实现BST的建立
int key;
*bst=NULL;
scanf("%d",&key);
while(key!=-1){
InsertBST(bst,key);
scanf("%d",&key);
}
}
void mid(BSTree *bst){//BST中序遍历是一个递增的序列
if(*bst){
mid(&((*bst)->lchild));
printf("%d ",(*bst)->key);
mid(&((*bst)->rchild));
}
}
void main(){
BSTree p;
CreateBST(&p);
mid(&p);
}
0 0
- 二叉排序树的遍历及输出
- 二叉排序树实现及各类遍历
- 二叉排序树的创建,插入,遍历
- 二叉排序树的建立和遍历
- 二叉排序树的建立和遍历
- 二叉排序树的创建与遍历
- 二叉排序树的建立和遍历
- 二叉排序树的建立与遍历
- 二叉排序树的建立和遍历
- 二叉排序树的中序遍历
- 二叉排序树的树形结构输出
- 二叉排序树的实现与输出
- 单链表的创建,遍历输出及释放
- 二叉排序树的查找与遍历C版
- 判断二叉排序树的后序遍历是否合法
- 二叉排序树的插入、遍历和删除
- 二叉排序树的建立和遍历(java)
- 二叉排序树的建立与中序遍历
- 第十六周项目2.1连续字符串 用数组名做参数
- Mac 下SVN 的配置(Xcode6.1下)
- Min Stack
- android R
- ScheduledExecutorService定时周期执行指定的任务
- 二叉排序树的遍历及输出
- Java基础5----初始化顺序
- ubuntu APT-GET工作原理
- 第十七周 OJ 用数字造数字
- 奇怪的curl 403错误
- Android.mk 用法介绍
- linux学习(9)命令与文件的搜寻(which,whereis,locate,find)
- 分块查找
- pat_b_1029 旧键盘