zoukankan      html  css  js  c++  java
  • 排序二叉树的中序遍历

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2128

    View Code
     1 #include<stdio.h>   
     2 #include<malloc.h>   
     3 typedef struct tree   
     4 {   
     5     int data; 
     6     struct tree *l,*r;   
     7 }tree;   
     8 int k;   
     9 void creat(tree *t,int a)   
    10 {   
    11     tree *p;   
    12     p = (tree *)malloc(sizeof(tree));   
    13     p->data = a;   
    14     if(t->data>a)   
    15     {   
    16          if(t->l == NULL)   
    17          {   
    18              t->l = p;   
    19              p->l = NULL;   
    20              p->r = NULL;   
    21          }   
    22          else  
    23              creat(t->l,p->data);   
    24     }   
    25     else  
    26     {   
    27         if(t->r == NULL)   
    28          {   
    29              t->r = p;   
    30              p->l = NULL;   
    31              p->r = NULL;   
    32          }   
    33          else  
    34              creat(t->r,p->data);   
    35     }   
    36 }   
    37 void midsearch(tree *t)   
    38 {   
    39     if(t!=NULL)   
    40     {          
    41         midsearch(t->l);   
    42         if(k!=0)   
    43             printf(" ");   
    44         printf("%d",t->data);   
    45         k++;   
    46         midsearch(t->r);   
    47     }   
    48 }   
    49 int main()   
    50 {   
    51     int n,i,a;   
    52     tree *t;   
    53     t = (tree *)malloc(sizeof(tree));   
    54     while(scanf("%d",&n)!=EOF)   
    55     {   
    56         k = 0;   
    57         for(i = 1 ;i <= n ; i++)   
    58         {   
    59             scanf("%d",&a);   
    60             if(i == 1)   
    61             {   
    62                 t->data = a;   
    63                 t->l = NULL;   
    64                 t->r = NULL;   
    65             }   
    66             else  
    67                 creat(t,a);   
    68         }   
    69         midsearch(t);   
    70         printf("\n");   
    71     }   
    72     return 0;   
    73 }    
    74   
  • 相关阅读:
    数组与指针
    壁纸
    2019/1/11
    指针A
    数组B
    一起来抓老鼠啊!快乐呀!
    打印沙漏
    I think I need a boat house
    币值转换
    《C语言程序设计》编程总结汇总
  • 原文地址:https://www.cnblogs.com/yelan/p/2917583.html
Copyright © 2011-2022 走看看