#17598: 用陣列實作AC


tzuchunchen1015@gmail.com (TCC)

學校 : 臺北市立第一女子高級中學
編號 : 93686
來源 : [140.112.217.20]
最後登入時間 :
2023-12-27 11:15:30
d526. Binary Search Tree (BST) | From: [61.64.179.247] | 發表日期 : 2019-04-26 20:48

#include <iostream>
using namespace std;
struct node{
    int value,leftid,rightid;
}num[1005];
void insert_value(int id){
    int root=0;
    bool find_place=0;
    while(!find_place){
        if(num[id].value<num[root].value){
            if(num[root].leftid==-1){
                num[root].leftid=id;
                find_place=1;
            }
            else root=num[root].leftid;
        }
        else{
            if(num[root].rightid==-1){
                num[root].rightid=id;
                find_place=1;
            }
        else root=num[root].rightid;
        }
    }
}
void preorder(int root){
    if(root==-1)return;
    cout<<num[root].value<<' ';
    preorder(num[root].leftid);
    preorder(num[root].rightid);
}
int main(int argc, char** argv) {

    int n;
    while(cin>>n){
        for(int i=0;i<n;i++){
            num[i].leftid=-1;
            num[i].rightid=-1;
        }
        cin>>num[0].value;
        for(int i=1;i<n;i++){
            cin>>num[i].value;
            insert_value(i);
        }
        preorder(0);
        cout<<'\n';
        }
    return 0;
}

 
ZeroJudge Forum