Binary Tree(二叉树的基本操作)

#include<stdio.h>
using namespace std;

struct TreeNode{
     
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x):val(x),left(NULL),right(NULL){
     }
};//类和结构体末尾有”;“,方法没有

void preorder_print(TreeNode* node,int layer){
     
    if(!node){
     
        return;
    }
    for(int i=0;i<layer;i++){
     
        printf("-----");
    }
    printf("[%d]\n",node->val);
    preorder_print(node->left,layer+1);
    preorder_print(node->right,layer+1);
}

int main(){
     

    TreeNode a(1);
    TreeNode b(2);
    TreeNode c(3);
    TreeNode d(4);
    TreeNode e(5);
    TreeNode f(6);
    a.left=&b;
    a.right=&c;
    b.left=&d;
    b.right=&e;
    c.right=&f;
    preorder_print(&a,0);

    return 0;
}

结果:
Binary Tree(二叉树的基本操作)_第1张图片

你可能感兴趣的:(Binary Tree(二叉树的基本操作))