#include<cmath>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
//二叉树的存储结构
///----------二叉树的顺序存储表示-------------------
#define MAX_TREE_SIZE 100 //二叉树的最大节点树
typedef int SqBiTree[MAX_TREE_SIZE]; //0号单元存储根节点
SqBiTree bt;
//
///---------------存储结构劲适用于完全二叉树---------------------
//
int main()
{
int d;
printf("输入完全二叉树深度d:");
scanf("%d",&d);
printf("按层的顺序输入完全二叉树\n");
for(int i=0;i< floor(pow(2,d)+0.5 )-1 ;i++)
scanf("%d",bt+i);
printf("按层的顺序遍历该完全二叉树为:\n");
int j=0;
for(int i=0;i< floor(pow(2,d)+0.5 )-1 ;i++){
if(i == floor(pow(2,j)+0.5 ) ) { puts(""); j++; }
printf("%d\t",bt[i]);
}
return 0;
}
原文:http://blog.csdn.net/a197p/article/details/45506941