package tree;
public class Tree {
TreeNode treenode=new TreeNode();
TreeNode root=null;
void insert(int data){
root=insert(root,data);
}
TreeNode insert(TreeNode node,int data)
{
if(node==null)
{
node=new TreeNode(data);
//node.data=data;
}
else
{
// while(node!=null){
if(node.lchild==null){
node.lchild=insert(node.lchild,data);
//node.lchild=node;
}
else if(node.rchild==null){
node.rchild=insert(node.rchild,data);
//node.lchild=node;
}
// }
}
return node;
}
void printTree(TreeNode treenode)
{
if(treenode==null){
return;
}
else
{
printTree(treenode.lchild);
System.out.print("->"+treenode.data);
printTree(treenode.rchild);
}
}
public void printTree() {
// TODO Auto-generated method stub
printTree(root);
}
void printTreePostOrder(TreeNode treenode)
{
System.out.println("Post Order");
if(treenode==null){
return;
}
else
{
printTree(treenode.lchild);
printTree(treenode.rchild);
System.out.print("->"+treenode.data);
}
}
public void printTreePostOrder() {
// TODO Auto-generated method stub
printTreePostOrder(root);
}
}
----------------2nd Class--------------------
package tree;
public class TreeNode {
enter code here
int data;
TreeNode lchild;
TreeNode rchild;
public TreeNode(int data) {
// TODO Auto-generated constructor stub
this.data=data;
this.rchild=null;
this.lchild=null;
}
public TreeNode() {
// TODO Auto-generated constructor stub
this.data=0;;
this.lchild=null;
this.rchild=null;
}
int getData()
{
return this.data;
}
public TreeNode getLchild() {
return lchild;
}
public void setLchild(TreeNode lchild) {
this.lchild = lchild;
}
public TreeNode getRchild() {
return rchild;
}
public void setRchild(TreeNode rchild) {
this.rchild = rchild;
}
public void setData(int data) {
this.data = data;
}
public static void main(String args[]){
Tree tree=new Tree();
tree.insert(4);
tree.insert(5);
tree.insert(2);
tree.insert(7);
tree.insert(1);
tree.insert(6);
tree.printTree();
tree.printTreePostOrder();
}
}
In this, i am not able to add more than 3 nodes correctly. . I am working on a simple ordered binary tree and not binary search tree. Can anyone tell how this should be done. I am trying to implement a binary tree and not a binary search tree
