-
Notifications
You must be signed in to change notification settings - Fork 275
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Code to traverse the tree into postorder, preorder & inorder traversing.
- Loading branch information
1 parent
fd075fd
commit 1e72b61
Showing
1 changed file
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
import java.util.Scanner; | ||
|
||
public class Tree { | ||
|
||
static Scanner sc = null; | ||
public static void main(String[] args) { | ||
sc = new Scanner(System.in); | ||
|
||
Node root = createTree(); | ||
inOrder(root); | ||
System.out.println(); | ||
preOrder(root); | ||
System.out.println(); | ||
postOrder(root); | ||
System.out.println(); | ||
} | ||
|
||
static Node createTree() { | ||
|
||
Node root = null; | ||
System.out.println("Enter data: "); | ||
int data = sc.nextInt(); | ||
|
||
if(data == -1) return null; | ||
|
||
root = new Node(data); | ||
|
||
System.out.println("Enter left for " + data); | ||
root.left = createTree(); | ||
|
||
System.out.println("Enter right for "+ data); | ||
root.right = createTree(); | ||
|
||
return root; | ||
} | ||
|
||
static void inOrder(Node root) { | ||
if(root == null) return; | ||
|
||
inOrder(root.left); | ||
System.out.print(root.data+" "); | ||
inOrder(root.right); | ||
} | ||
|
||
static void preOrder(Node root) { | ||
if(root == null) return; | ||
System.out.print(root.data+" "); | ||
preOrder(root.left); | ||
preOrder(root.right); | ||
} | ||
|
||
static void postOrder(Node root) { | ||
if(root == null) return; | ||
|
||
postOrder(root.left); | ||
postOrder(root.right); | ||
System.out.print(root.data+" "); | ||
} | ||
} | ||
|
||
class Node { | ||
Node left, right; | ||
int data; | ||
|
||
public Node(int data) { | ||
this.data = data; | ||
} | ||
} |