• 二叉排序树


    输入一系列整数,建立二叉排序树,并进行先、中、后序遍历

    代码:

     1 #include<stdio.h>
     2 #include<string.h>
     3 struct Node{
     4     Node *lchild,*rchild;
     5     int c;
     6 }Tree[110];
     7 int loc;
     8 Node *create(){
     9     Tree[loc].lchild=Tree[loc].rchild=NULL;
    10     return &Tree[loc++];
    11 }
    12 void postOrder(Node *T){//后序遍历 
    13     if(T->lchild!=NULL){
    14         postOrder(T->lchild);
    15     }
    16     if(T->rchild!=NULL){
    17         postOrder(T->rchild);
    18     }
    19     printf("%d",T->c);
    20 }
    21 void inOrder(Node *T){//中序遍历 
    22     if(T->lchild!=NULL){
    23         postOrder(T->lchild);
    24     }
    25     printf("%d",T->c);
    26     if(T->rchild!=NULL){
    27         postOrder(T->rchild);
    28     }    
    29 }
    30 void preOrder(Node *T){//先序遍历 
    31     printf("%d",T->c);
    32     if(T->lchild!=NULL){
    33         postOrder(T->lchild);
    34     }
    35     if(T->rchild!=NULL){
    36         postOrder(T->rchild);
    37     }
    38     
    39 }
    40 Node *Insert(Node *T,int x){
    41     if(T==NULL){
    42         T=create();
    43         T->c=x;
    44         return T;
    45     }
    46     else if(x<T->c){
    47         T->lchild=Insert(T->lchild,x);
    48     }
    49     else if(x>T->c){
    50         T->rchild=Insert(T->rchild,x);
    51     }
    52     return T;
    53 }
    54 int main(){
    55     int n;
    56     while(scanf("%d",&n)!=EOF){
    57         loc=0;
    58         Node *T=NULL;
    59         for(int i=0;i<n;i++){
    60             int x;
    61             scanf("%d",&x);
    62             T=Insert(T,x);
    63         }
    64         preOrder(T);
    65         printf("
    ");
    66         inOrder(T);
    67         printf("
    ");
    68         postOrder(T);
    69         printf("
    ");
    70     }
    71     return 0;
    72 }
  • 相关阅读:
    事务
    XML小总结
    java中array,arrayList,iterator;
    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
    RHCE7认证学习笔记17——KickStart安装系统
    CentOS中安装MySQL数据库
    centos下搭建svn服务器端/客户端
    AWS安装CDH5.3-CentOS6.4中关键操作步骤
    AWS安装CDH5.3-CentOS6.4
    [转]Servlet 工作原理解析
  • 原文地址:https://www.cnblogs.com/Elaine-DWL/p/6536187.html
Copyright © 2020-2023  润新知