PAT甲1064. Complete Binary Search Tree (30)

完全二叉树,序列为x的节点,左孩子序列为2x,右孩子序列为2x+1,根节点序列为1

#include <cstdio>
#include <algorithm>
using namespace std;

int a[1010],CBT[1010],index=0;
int N;

void inorder(int root)
{
    if(root>N)return;
    inorder(root*2);
    CBT[root]=a[index++];
    inorder(root*2+1);
}

int main()  
{   
    scanf("%d",&N);
    for(int i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,a+N);
    inorder(1);
    for(int i=1;i<=N;i++)
    {
        printf("%d",CBT[i]);
        if(i!=N)
            printf(" ");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/yhy489275918/article/details/80172362