二叉树顺序存储和遍历

来源:互联网 发布:琅琊榜骑兵进阶数据 编辑:程序博客网 时间:2024/05/17 02:52
#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;}