java实现按层遍历二叉树

  

本文实例为大家分享了java实现按层遍历二叉树,按层遍历二叉树可以通过队列来实现。其主要思路如下:

  

1时,先将根节点放入队列中

  

2,每次都从队列中取出一个结点打印该结点的值

  

3,若这个结点有子结点,则将它的子结点放入队列尾,知道队列为空。

  

实现代码如下:
  

        进口java.util.LinkedList;   进口java.util.Queue;      公开课LayerTranverse {//按层遍历二叉树   公共静态void main (String [] args) {   BinaryTree1 biTree1=new BinaryTree1 ();   int [] data=https://www.yisu.com/zixun/{2, 8, 7、4、9、3、1、6、5};   biTree1.buildTree1(数据);   biTree1.layerTranverse ();   }      }   类Node1 {   公共int数据;   公共Node1离开;   公共Node1权;   公共Node1 (int数据){   this.data=数据;   this.left=零;   this.right=零;   }   }   类BinaryTree1 {   私人Node1根;   公共BinaryTree1 () {   根=零;   }//将数据数据插入到排序的二叉树中   公共空间insert1 (int数据){   Node1 newNode1=new Node1(数据);   如果(root==null) {   根=newNode1;   其他}{   Node1电流=根;   Node1父母;   而(真){   父母=当前;   如果(数据 q=new LinkedList ();   q.add (this.root);   而(! q.isEmpty ()) {   Node1 n=q.poll ();   System.out.print (n.data);   system . out。打印(" ");   如果(n.left !=null) {   q.add (n.left);   }   如果(n.right !=null) {   q.add (n.right);   }   }   }   }   之前      

运行结果为:
  

  
  

2 1 9 8 7 4 3 6 5,
  

     

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
  

java实现按层遍历二叉树