fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static class TreeNode {
  11. TreeNode left;
  12. TreeNode right;
  13. int data;
  14. }
  15. public static TreeNode add(TreeNode node, final int value) {
  16. TreeNode insert = new TreeNode();
  17. insert.data = value;
  18. if (node == null) {
  19. return insert;
  20. }
  21. TreeNode current = node;
  22. while (true) {
  23. if (value < current.data) {
  24. if (current.left == null) {
  25. current.left = insert;
  26. break;
  27. } else {
  28. current = current.left;
  29. }
  30. } else {
  31. if (current.right == null) {
  32. current.right = insert;
  33. break;
  34. } else {
  35. current = current.right;
  36. }
  37. }
  38. }
  39. return node;
  40. }
  41. private static void printTree(TreeNode node, String indent) {
  42. if (node == null) return;
  43. System.out.println(indent+node.data);
  44. printTree(node.left, indent+" ");
  45. printTree(node.right, indent+" ");
  46. }
  47. public static void main (String[] args) throws java.lang.Exception {
  48. TreeNode tree = null;
  49. tree = add(tree, 5);
  50. tree = add(tree, 3);
  51. tree = add(tree, 1);
  52. tree = add(tree, 4);
  53. tree = add(tree, 8);
  54. tree = add(tree, 6);
  55. tree = add(tree, 9);
  56. printTree(tree, "");
  57. }
  58. }
Success #stdin #stdout 0.07s 380224KB
stdin
Standard input is empty
stdout
5
  3
    1
    4
  8
    6
    9