树之深度优先遍历

直接贴代码
只需要修改中间打印的位置,放在最前面就是先序遍历,放在中间,就是中序遍历,放在后面就是后序遍历;
贴代码

public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");

        Node head=new Node(1,null,null);

        initNode(head);
        printf(head);
    }
    public static void initNode(Node head){

        Node node1=new Node(2,null,null);
        Node node2=new Node(3,null,null);

        Node node3=new Node(4,null,null);
        Node node4=new Node(5,null,null);
        head.setLeft(node1);
        head.setRight(node2);
        node1.setLeft(node3);
        node1.setRight(node4);
/*        System.out.println(head.getData());
        System.out.println(head.getLeft().getData());
        System.out.println(head.getRight().getData());*/

    }
    public static void printf(Node node){
        Node p=node;
        if (p!=null){

            printf(p.getLeft());

            printf(p.getRight());
            System.out.print("当前元素是"+p.getData());
        }
    }
}class Node {
    private int data;
    private Node left;
    private Node right;

    public Node(int data) {
        this.data = data;
    }

    public Node init(){
        Node node=null;
        return node;
    }

    public Node(int data, Node left, Node right) {
        this.data = data;
        this.left = left;
        this.right = right;
    }

    public int getData() {
        return data;
    }

    public void setData(int data) {
        this.data = data;
    }

    public Node getLeft() {
        return left;
    }

    public void setLeft(Node left) {
        this.left = left;
    }

    public Node getRight() {
        return right;
    }

    public void setRight(Node right) {
        this.right = right;
    }
}

数据我这里是简单的创建,可以自己创建一个循环去做,也可以自己搭建一个二叉树出来,我只是简单的搭建了一个二叉树出来欢迎交流~~~~~~~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值