- 程式碼如下
//
// main.cpp
// test
//
// Created by 樑亞賓 on 16/6/4.
// Copyright © 2016年 liang. All rights reserved.
//
//#include <iostream>
#include <stdio.h>
#include <stdlib.h>
typedef char ElemType;
typedef struct BiTNode
{
char data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
///前序建立
void CreateBiTree(BiTree *T) {
char c;
scanf("%c",&c);
if (c == ' ') {
*T = NULL;
}else{
*T = (BiTNode *)malloc(sizeof(BiTNode));///建立一個 樹
(*T)->data =c;
CreateBiTree(&(*T)->lchild);//左邊
CreateBiTree(&(*T)->rchild);//右邊
}
}
void visit(char c, int level){
printf("%c 位於第 %d 層\n",c,level);
}
///前序遍歷二叉樹
void PreOrderTraverse(BiTree T,int level){
if(T){
///這裡輸出樹
visit(T->data,level);
PreOrderTraverse(T->lchild, level+1);
PreOrderTraverse(T->rchild, level+1);
}
}
int main() {
int level = 1;
BiTree T = NULL;
CreateBiTree(&T);
PreOrderTraverse(T, level);
return 0;
}
個人部落格: www.liangtongzhuo.com
複製程式碼