Advertisement
nocturnalmk

binary tree

Nov 23rd, 2012
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1. package drva;
  2.  
  3. public class IntTree {
  4.  
  5.     private static class IntTreeNode {
  6.  
  7.         private int data;
  8.         private IntTreeNode leftLink;
  9.         private IntTreeNode rightLink;
  10.  
  11.         public IntTreeNode(int data, IntTreeNode leftLink, IntTreeNode rightLink) {
  12.             this.data = data;
  13.             this.leftLink = leftLink;
  14.             this.rightLink = rightLink;
  15.         }
  16.  
  17.     }
  18.  
  19.     private IntTreeNode root;
  20.  
  21.     public IntTree() {
  22.         root = null;
  23.     }
  24.  
  25.     public void add(int data) {
  26.         root = insertInSubtree(data, root);
  27.     }
  28.  
  29.     public boolean contains(int item) {
  30.         return isInSubtree(item, root);
  31.     }
  32.  
  33.     public void showElements() {
  34.         showElementsInSubtree(root);
  35.     }
  36.    
  37.     public void showElementsInSubtree(IntTreeNode subRoot) {
  38.        
  39.         if (subRoot == null) {
  40.             return;
  41.         }
  42.        
  43.         showElementsInSubtree(subRoot.leftLink);
  44.         System.out.println(subRoot.data + " ");
  45.         showElementsInSubtree(subRoot.rightLink);
  46.        
  47.     }
  48.  
  49.     public IntTreeNode insertInSubtree(int data, IntTreeNode subTreeRoot) {
  50.         if (subTreeRoot == null) {
  51.             return new IntTreeNode(data, null, null);
  52.         } else {
  53.             if (data < subTreeRoot.data) {
  54.                 subTreeRoot.leftLink = insertInSubtree(data,
  55.                         subTreeRoot.leftLink);
  56.             } else {
  57.                 subTreeRoot.rightLink = insertInSubtree(data,
  58.                         subTreeRoot.rightLink);
  59.             }
  60.             return subTreeRoot;
  61.         }
  62.     }
  63.  
  64.     public boolean isInSubtree(int data, IntTreeNode subTreeRoot) {
  65.         if (subTreeRoot == null) {
  66.             return false;
  67.         } else {
  68.             if (subTreeRoot.data == data) {
  69.                 return true;
  70.             } else {
  71.                 if (subTreeRoot.data < data) {
  72.                     return isInSubtree(data, subTreeRoot.leftLink);
  73.                 } else {
  74.                     return isInSubtree(data, subTreeRoot.rightLink);
  75.                 }
  76.             }
  77.         }
  78.     }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement