Complete Binary Search Tree (30)

#include
#include
#include
#include
using namespace std;
int N;
vector tree,node;
void build(int root) {
    static int index=1;
    if(root>N) return;
    build(root*2);
    tree[root]=node[index++];
    build(root*2+1);
}
int main() {
    cin>>N;
    tree.resize(N+1);
    node.resize(N+1);
    for(int i=1; i<=N; i++) {
        cin>>node[i];
    }
    sort(node.begin(),node.end());
    build(1);
    printf("%d",tree[1]);
    for(int i=2; i<=N; i++) {
        printf(" %d",tree[i]);
    }
    printf("\n");
}

你可能感兴趣的:(Complete Binary Search Tree (30))