zoukankan      html  css  js  c++  java
  • 二叉排序树(三序输出)

    二叉排序树

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:6039

    解决:2538

    题目描述:

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

    输入:

        输入第一行包括一个整数n(1<=n<=100)。     接下来的一行包括n个整数。

    输出:

        可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。     每种遍历结果输出一行。每行最后一个数据之后有一个空格。

    样例输入:
    5
    1 6 5 9 8
    样例输出:
    1 6 5 9 8 
    1 5 6 8 9 
    5 8 9 6 1 
    提示:

    输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    typedef struct Node{
        Node *l, *r;
        int v;
        Node(){l = NULL; r = NULL;}
    }*tree, Node;
    tree build(tree p, int v){
        if(p == NULL){
            p = new Node();
            p->v = v;
            return p;
        }
        if(v < p->v)
            p->l = build(p->l, v);
        else if(v > p->v)
            p->r = build(p->r, v);
        else
            return p;
        return p;
    }
    void PreOrder(tree p){
        if(p == NULL)return;
        printf("%d ", p->v);
        PreOrder(p->l);
        PreOrder(p->r);
    }
    void InOrder(tree p){
        if(p == NULL)return;
        InOrder(p->l);
        printf("%d ", p->v);
        InOrder(p->r);
    }
    void PostOrder(tree p){
        if(p == NULL)return;
        PostOrder(p->l);
        PostOrder(p->r);
        printf("%d ", p->v);
    }
    int main(){
        int N;
        while(~scanf("%d", &N)){
            tree p;
            p = NULL;
            int v;
            for(int i = 0; i < N; i++){
                scanf("%d", &v);
                p = build(p, v);
            }
            PreOrder(p);
            puts("");
            InOrder(p);
            puts("");
            PostOrder(p);
            puts("");
        }
        return 0;
    }
  • 相关阅读:
    CF 142B Tprimes
    CF 231A Team
    poj 2001 Shortest Prefixes ——字典树入门
    hdu 1039 Easier Done Than Said?
    poj 2528 Mayor's posters
    hdu 1061 Rightmost Digit
    poj 2503 Babelfish
    CF271 A. Beautiful Year
    poj 2752
    CF271 B. Prime Matrix
  • 原文地址:https://www.cnblogs.com/handsomecui/p/5575079.html
Copyright © 2011-2022 走看看