排序二叉树的创建及先序、中序、后序输出二叉树

简介: 排序二叉树的创建及先序、中序、后序输出二叉树
#include<stdio.h>
#include<malloc.h>
typedef struct tree{
  int data;                //存放数据 
  struct tree *right,*left;//定义左右子树 
}*t;
void Create_tree(t &T,int a)
{
    if(T==NULL)           //根节点 
    {
        T=(t)malloc(sizeof(t));//分配空间 
        T->right=NULL; 
        T->left=NULL;
        T->data=a;
    }
    else{                     //子节点 
        if(a>T->data)        //大的排在右边 
        {
           Create_tree(T->right,a);
        }
        if(a<T->data)       //小的排在左边 
        {
           Create_tree(T->left,a);
        }
        else{
            return;
        }
    }
}
void PreOrder(t T)  //先序遍历 
{
    if(T==NULL) return;
    printf("%d ",T->data);
    PreOrder(T->left);
    PreOrder(T->right);
}
void midOrder(t T)  //中序遍历 
{
    if(T==NULL) return;
    midOrder(T->left);
    printf("%d ",T->data);
    midOrder(T->right);
}
void FinOrder(t T)  //后序遍历 
{
    if(T==NULL) return;
    FinOrder(T->left);
    FinOrder(T->right);
    printf("%d ",T->data);
}
int main()
{
  int n;
  while(scanf("%d",&n)!=EOF) //节点个数 
  {
    t T=NULL;
    int i,a;
    while(n--)
    {
      scanf("%d",&a);
      Create_tree(T,a);   //创建排序二叉树 
    }
      PreOrder(T);
      printf("\n");
      midOrder(T);
      printf("\n");
      FinOrder(T);
      printf("\n");
  }
  return 0;
}
目录
相关文章
数据结构实验之二叉树四:(先序中序)还原二叉树
数据结构实验之二叉树四:(先序中序)还原二叉树
|
人工智能 Java 测试技术
二叉树通过前序中序来构建二叉树(炒鸡详细到每一步)
二叉树通过前序中序来构建二叉树(炒鸡详细到每一步)
|
29天前
【LeetCode 37】106.从中序与后序遍历构造二叉树
【LeetCode 37】106.从中序与后序遍历构造二叉树
12 0
|
6月前
|
算法 Java 程序员
【算法训练-二叉树 一】【遍历二叉树】前序遍历、中序遍历、后续遍历、层序遍历、锯齿形层序遍历、二叉树右视图
【算法训练-二叉树 一】【遍历二叉树】前序遍历、中序遍历、后续遍历、层序遍历、锯齿形层序遍历、二叉树右视图
66 0
|
存储 算法 C++
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
120 0
|
存储
刷题之完全二叉树的权值和小字辈及根据后序和中序遍历输出先序遍历
刷题之完全二叉树的权值和小字辈及根据后序和中序遍历输出先序遍历
140 0
|
算法 C语言
【递归调用在二叉树中的应用】前序遍历、中序遍历、后序遍历、求二叉树叶子结点及复制二叉树的C语言实现
【递归调用在二叉树中的应用】前序遍历、中序遍历、后序遍历、求二叉树叶子结点及复制二叉树的C语言实现
150 0
【递归调用在二叉树中的应用】前序遍历、中序遍历、后序遍历、求二叉树叶子结点及复制二叉树的C语言实现
es 实现二叉树的前序中序,后序遍历,后序中序还原二叉树,前序中序还原二叉树,二叉树的比较diff
es 实现二叉树的前序中序,后序遍历,后序中序还原二叉树,前序中序还原二叉树,二叉树的比较diff
es 实现二叉树的前序中序,后序遍历,后序中序还原二叉树,前序中序还原二叉树,二叉树的比较diff
先序、中序、后序遍历确定唯一树
快速学习先序、中序、后序遍历确定唯一树
先序、中序、后序遍历确定唯一树