#include <iostream>
#include <algorithm>
using namespace std;
int jj=0,b[1005];
void out(int rt, int n, int a[]){
if(rt<=n){
out(2*rt,n,a);
b[rt-1]=a[jj++];
// cout << "b="<<b[rt] << endl;
out(2*rt+1,n,a);
}
}
int main(){
int n,t,a[1005];
cin >> n;
for (int i=0;i<n;i++){
cin >>t;
a[i]=t;
}
sort(a,a+n);
int c[n];
for(int i=0;i<n;i++)
c[i]=i;
out(1,n,c);
for(int i=0;i<n;i++){
// cout << c[i];
}
// cout << endl;
for(int i=0;i<n;i++){
// cout << b[i];
}
// cout << endl;
for(int i=0;i<n-1;i++){
cout << a[b[i]]<<" ";
}
cout << a[b[n-1]];
}
04-树6 Complete Binary Search Tree(30 分)
最新推荐文章于 2020-08-07 11:18:06 发布