二叉樹 C語言

liangtongzhuo發表於2017-12-14
  • 程式碼如下
//
//  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
複製程式碼

相關文章