csu 1005 BST(二叉排序树水题)
来源:互联网 发布:体检数据 编辑:程序博客网 时间:2024/06/04 00:21
#include <iostream>#include <map>#include <stdlib.h>#include <cstdio>#include <string>using namespace std;bool flag;typedef struct BSTNode{ int data; struct BSTNode *left,*right;}BSTNode,*BSTree;BSTree CreatBST(BSTree T,int temp){ if(!T) { T=(BSTree)malloc(sizeof(BSTNode)); T->data=temp; T->left=T->right=NULL; } else if(temp<T->data) T->left=CreatBST(T->left,temp); else T->right=CreatBST(T->right,temp);return T;}void Preorder(BSTree T){ if(T) { if(!flag) { cout<<T->data; flag=true; } else { cout<<" "<<T->data; } Preorder(T->left); Preorder(T->right); }}void Inorder(BSTree T){ if(T) { Inorder(T->left); if(!flag) { cout<<T->data; flag=true; } else { cout<<" "<<T->data; } Inorder(T->right); }}void Houorder(BSTree T){ if(T) { Houorder(T->left); Houorder(T->right); if(!flag) { cout<<T->data; flag=true; } else { cout<<" "<<T->data; } }}int main(){ int T,n,x; cin>>T; while(T--) { BSTree root=NULL; cin>>n; for(int i=0;i<n;i++) { cin>>x; root = CreatBST(root,x); } flag=false; Preorder(root); cout<<endl; flag=false; Inorder(root); cout<<endl; flag=false; Houorder(root); cout<<endl<<endl; } return 0;}
阅读全文
0 0
- csu 1005 BST(二叉排序树水题)
- 二叉排序树BST
- 二叉排序树(BST)
- 二叉排序树 BST
- JAVA --- BST二叉排序树实现
- java二叉排序树(BST)
- 数据结构---二叉排序树(BST)
- 【数据结构】BST:二叉排序树算法
- 【数据结构】二叉排序树BST
- BST:二叉排序树算法
- 二叉排序树(BST)
- 数据结构-二叉排序树BST初探
- 二叉排序树(BST)
- 二叉排序树(BST)
- BST 基础二叉排序树
- 二叉排序树(BST)构造与应用
- 二叉 搜索/查找 树、二叉排序树、BST
- 动态查找之二叉排序树(BST)
- mac系统下使用beego工具创建项目出现kill -9 解决方法
- selenium api
- windows上装ios系统
- 机器学习:支持向量机(SVM)与Python实现第(三)篇
- Unity Shader学习笔记:凹凸映射
- csu 1005 BST(二叉排序树水题)
- Linux中slab的使用方法实例
- c++ 使用throw抛出异常
- 【微信】微信消息定时推送
- C#性能优化黑科技(二)【反射】批量实例化对象的快速方法
- contiki之list(2)
- TP5验证码点击刷新与验证
- oracle 自定义类型 type / create type
- 树链剖分详解及其模板题