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

简介: 排序二叉树的创建及先序、中序、后序输出二叉树
#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;
}
目录
相关文章
数据结构实验之二叉树四:(先序中序)还原二叉树
数据结构实验之二叉树四:(先序中序)还原二叉树
|
6月前
|
Java C++ 索引
leetcode-106:从中序与后序遍历序列构造二叉树
leetcode-106:从中序与后序遍历序列构造二叉树
50 0
|
6月前
|
存储
二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
|
1月前
【LeetCode 37】106.从中序与后序遍历构造二叉树
【LeetCode 37】106.从中序与后序遍历构造二叉树
17 0
|
1月前
|
存储 索引 Python
从中序与后序遍历序列构造二叉树
【10月更文挑战第13天】这段内容介绍了一种基于中序和后序遍历序列构建二叉树的方法。通过识别后序遍历中的根节点,并利用中序遍历划分左右子树,进而递归构建整棵树。文中提供了具体示例及Python代码实现,并分析了该方法的时间与空间复杂度。
21_从中序与后序遍历序列构造二叉树
21_从中序与后序遍历序列构造二叉树
|
11月前
|
C++ 索引
从中序与后序遍历序列构造二叉树(C++实现)
从中序与后序遍历序列构造二叉树(C++实现)
74 1
|
存储 算法 C++
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
130 0
|
算法
【算法】二叉排序树:创建二叉树,并以中序遍历输出
【算法】二叉排序树:创建二叉树,并以中序遍历输出
217 0