利用完全二叉树的性质,某一层的最左边结点的值是2的n-1次方,最右边的值是2的n次方减1。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
int n;
int i, j;
int flag = 0;
int tree[1100];
int row;
while (1)
{
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &tree[i]);
}
scanf("%d", &row);
if (row == 0)
break;
for (i = pow(2, row - 1); i <= pow(2, row) - 1 && i <= n; i++)
{
flag = 1;
printf("%d ", tree[i]);
}
if (flag == 0)
printf("EMPTY\n");
else
printf("\n");
flag = 0;
}
return 0;
}