Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Mason Marnell
- //
- class BinaryTree {
- Node root;
- public BinaryTree(String info)
- {
- root = new Node();
- root.info = info;
- root.left = null;
- root.right = null;
- }
- public void Add(String info)
- {
- Node currentnode = root;
- while(true)
- {
- if(currentnode.info.compareTo(info) > 0) // go left
- {
- if(currentnode.left != null)
- {
- currentnode = currentnode.left;
- continue;
- }
- else
- {
- currentnode.left = new Node();
- currentnode = currentnode.left;
- currentnode.info = info;
- break;
- }
- }
- else
- {
- if(currentnode.right != null)
- {
- currentnode = currentnode.right;
- continue;
- }
- else
- {
- currentnode.right = new Node();
- currentnode = currentnode.right;
- currentnode.info = info;
- break;
- }
- }
- }
- }
- public void insert(String data)
- {
- root = insert(root, data);
- }
- /* Function to insert data recursively */
- private Node insert(Node node, String data)
- {
- if (node == null)
- node = new Node(data);
- else
- {
- if(node.info.compareTo(data)>0)
- node.left = insert(node.left,data);
- else
- node.right = insert(node.right, data);
- }
- return node;
- }
- public void inorder()
- {
- inorder(root);
- }
- private void inorder(Node r)
- {
- if (r != null)
- {
- inorder(r.left);
- System.out.print(r.info +" ");
- inorder(r.right);
- }
- }
- public void reverseorder()
- {
- reverseorder(root);
- }
- private void reverseorder(Node r)
- {
- if (r != null)
- {
- inorder(r.right);
- System.out.print(r.info +" ");
- inorder(r.left);
- }
- }
- public void PreOrder()
- {
- PreOrder(root);
- }
- private void PreOrder(Node r)
- {
- if (r != null)
- {
- System.out.print(r.info +" ");
- inorder(r.left);
- inorder(r.right);
- }
- }
- public void PosOrder()
- {
- PosOrder(root);
- }
- private void PosOrder(Node r)
- {
- if (r != null)
- {
- inorder(r.left);
- inorder(r.right);
- System.out.print(r.info +" ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement