#include<stdio.h>
int biTree[1000],n;
//前序遍历
void prePrintBiTree(int i)
{
if (i<=n)
{
printf("%d", biTree[i]);
prePrintBiTree(2*i); //左孩子
prePrintBiTree(2*i+1); //右孩子
}
}
//中序遍历
void inPrintBiTree(int i)
{
if (i<=n)
{
inPrintBiTree(2*i); //左孩子
printf("%d", biTree[i]);
inPrintBiTree(2*i+1);
}
}
//后序遍历
void postPrintBiTree(int i)
{
if (i<=n)
{
postPrintBiTree(2*i);
postPrintBiTree(2*i+1);
printf("%d",biTree[i]);
}
}
int main()
{
scanf("%d",&n);
for (int i=1; i<=n; i++)
{
scanf("%d",&biTree[i]);
}
printf("\n前序遍历");
prePrintBiTree(1);
printf("\n中序遍历");
inPrintBiTree(1);
printf("\n后序遍历");
postPrintBiTree(1);
return 0;
}
二叉树顺序存储和遍历
最新推荐文章于 2023-09-13 23:00:37 发布