zoukankan      html  css  js  c++  java
  • 九度 1201 -二叉排序数遍历- 二叉排序树

    这个是道正统的树构建和遍历题。一開始还想用数组构建取代一下水过去,可是发现不行,仅仅好老老实实的用指针了。二叉排序树和遍历方法假设不清楚定义的话。最好去看看数据结构书复习下。

    #include<stdio.h>
    
    struct node{
        node *l;
        node *r;
        int val;
        node(int a):val(a),l(NULL),r(NULL){};
    };
    node *root;
    int n;
    void qian(node *p){
        printf("%d ",p->val);
        if(p->l!=NULL)qian(p->l);
        if(p->r!=NULL)qian(p->r);
    }
    void zhong(node *p){
        if(p->l!=NULL)zhong(p->l);
        printf("%d ",p->val);
        if(p->r!=NULL)zhong(p->r);
    }
    void hou(node *p){
        if(p->l!=NULL)hou(p->l);
        if(p->r!=NULL)hou(p->r);
        printf("%d ",p->val);
    }
     
    int main(){
         
        int val;
        node *p;
        while(~scanf("%d",&n)){
            root=NULL;
            for(int i=0;i<n;i++){
                scanf("%d",&val);
                if(i==0){
                    root=new node(val);
                    continue;
                }
                p=root;
                while(1){
                    if(val==p->val)break;
                    else if(val<p->val){
                        if(p->l==NULL){
                            p->l=new node(val);
                            break;
                        }
                        else{
                            p=p->l;continue;
                        }
                    }
                    else if(val>p->val){
                        if(p->r==NULL){
                            p->r=new node(val);
                            break;
                        }
                        else{
                            p=p->r;continue;
                        }
                    }
                }
            }   
            qian(root);
            printf("
    ");
            zhong(root);
            printf("
    ");
            hou(root);
            printf("
    ");
        }
        return 0;
    }


  • 相关阅读:
    stm32 IO模式
    stm32的ADC
    bsp
    stm32的硬件调试设置
    RTC实时时钟
    快手2019笔试题 “回文子串" 解题思路
    C++内存修改器开源代码
    FC游戏修改教程(hack)小白文。
    GLFW+GLEW搭建opengl环境(备忘)
    8086 IO读写操作
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5080578.html
Copyright © 2011-2022 走看看