/** * @authorCJ July 14, 2017 pm 1:14:31*/ PackageCom.yuanye.algorithm;Importjava.util.LinkedList;Importjava.util.List; Public classBinaryTree {//private static list<node> currentlevelnodes=new arraylist<> ();//private static list<node> nextlevelnodes=new arraylist<> ();    Private StaticList<node> nodelist=NewLinkedlist<>();  Public Static voidMain (string[] args) {Node RootNode=NewNode (); Rootnode.setvalue (88); Generatetree (RootNode,5,0);    Printtree (RootNode); }     Public Static voidGeneratetree (Node parentnode,intDepthintcurrentdepth) {        if(currentdepth>depth-1)            return; Node Leftnode=NewNode (); Leftnode.setvalue (6000+currentdepth); Node Rightnode=NewNode (); Rightnode.setvalue (9000+currentdepth);        Parentnode.setleftnode (Leftnode);        Parentnode.setrightnode (Rightnode); Generatetree (leftnode,depth,currentdepth+1); Generatetree (rightnode,depth,currentdepth+1); }     Public Static voidPrinttree (Node rootNode) {System.out.println (Rootnode.getvalue ()); Node Leftnode=Rootnode.getleftnode (); Node Rightnode=Rootnode.getrightnode (); if(leftnode!=NULL) {nodelist.add (Leftnode); }        if(rightnode!=NULL) {nodelist.add (Rightnode); }//if (currentlevelnodes.size () ==0) {//Currentlevelnodes.addall (nextlevelnodes);//Nextlevelnodes.removeall (nextlevelnodes);//        }//if (currentlevelnodes.size () >0) {//Node nextnode=currentlevelnodes.get (0);//currentlevelnodes.remove (0);//Printtree (nextnode);//        }        if(Nodelist.size () >0) {Node NextNode=nodelist.get (0); Nodelist.remove (0);        Printtree (NextNode); }    }}classnode{Private intvalue; PrivateNode Leftnode; PrivateNode Rightnode;  Public intGetValue () {returnvalue; }     Public voidSetValue (intvalue) {         This. Value =value; }     PublicNode Getleftnode () {returnLeftnode; }     Public voidSetleftnode (Node leftnode) { This. Leftnode =Leftnode; }     PublicNode Getrightnode () {returnRightnode; }     Public voidSetrightnode (Node rightnode) { This. Rightnode =Rightnode; } @Override PublicString toString () {return"Node [value=" + Value + ", leftnode=" + Leftnode + ", rightnode=" + Rightnode + "]"; }}
Java traversal of binary tree by hierarchy