码迷,mamicode.com
首页 > 编程语言 > 详细

华中科技大学机试 二叉排序树 Easy

时间:2020-03-05 01:05:33      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:end   algo   基本   clu   cin   int   ios   ring   pos   

基本思想:

无;

 

关键点:

无;

 

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
#include<set>
using namespace std;

int n;


struct node {
    int data;
    node* left = NULL;
    node* right = NULL;
};

void insert(node* &root, int x) {
    if (root == NULL) {
        root = new node;
        root->data = x;
        return;
    }
    if (x > root->data) {
        insert(root->right, x);
    }
    else {
        insert(root->left, x);
    }
}

void frontorder(node* root) {
    if (root == NULL)
        return;
    cout << root->data << " ";
    frontorder(root->left);
    frontorder(root->right);
}

void inorder(node* root) {
    if (root == NULL)
        return;
    inorder(root->left);
    cout << root->data << " ";
    inorder(root->right);
}

void postorder(node* root) {
    if (root == NULL)
        return;
    postorder(root->left);
    postorder(root->right);
    cout << root->data << " ";
}

int main() {
    while (cin >>n) {
        int a;
        node* root = NULL;
        set<int>se;
        for (int i = 0; i < n; i++) {
            cin >> a;
            if (se.find(a) == se.end()) {
                insert(root, a);
                se.insert(a);
            }
        }
        frontorder(root);
        cout << endl;
        inorder(root);
        cout << endl;
        postorder(root);
        cout << endl;
        //cout << 11 << endl;
    }
    return 0;
}

 

华中科技大学机试 二叉排序树 Easy

标签:end   algo   基本   clu   cin   int   ios   ring   pos   

原文地址:https://www.cnblogs.com/songlinxuan/p/12417127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!