Package Tree.binarytree;public class Bitreenode {int data; Bitreenode Leftnode; Bitreenode rightnode;public Bitreenode () {leftnode=null;rightnode=null;} Public bitreenode (int data,bitreenode leftnode,bitreenode rightnode) {this.data=data;this.leftnode=leftnode; This.rightnode=rightnode;}}
*******************************************************************************
Package Tree.binarytree;public class Bitree {public Bitreenode root;//root node public bitree () {//Empty tree this.root=null;} Incoming data field, left subtree, right subtree build binary tree public bitree (int data,bitree leftchild,bitree rightchild) {Bitreenode left,right;if (leftchild== NULL) {Left=null;} Else{left=leftchild.root;} if (rightchild==null) {right=null;} Else{right=rightchild.root;} This.root=new bitreenode (data, left, right);} Insert node public void Insert (int data) {Bitreenode newnode=new bitreenode (data,null,null); Bitreenode current=root;//Current node Bitreenode parent;//parent node if (root==null) {Root=newnode;return;} else {while (true) {Parent = Current;if (Current.data > Data) {current = Current.leftnode;if (current = = null) {Parent.leftnode = Newnode;return;} } else {current = current.rightnode;if (current = = null) {Parent.rightnode = Newnode;return;}}}} Find public Bitreenode find (int data) {if (root==null) {throw new RuntimeException ("Binary tree is Empty");} Bitreenode Current=root;while (current.data!=data) {if (current.data>data) {Current=current.leftnode;} Else{current=curRent.rightnode;} if (current==null) {return null;}} return current;}}
Java Data Structure Series--Tree (2): implementation of two-fork tree and its common operation