Node.java
public class Node {
public int data;
public Node leftChild;
public Node rightChild;
public void goruntule()
{
System.out.print(data + " ");
}
}
Tree.java
public class Tree {
private Node root;
public Tree()
{
root = null;
}
public Node getRoot()
{
return root;
}
public void preOrder(Node rootNode)
{
if(rootNode != null)
{
rootNode.goruntule();
preOrder(rootNode.leftChild);
preOrder(rootNode.rightChild);
}
}
public void inOrder(Node rootNode)
{
if(rootNode != null)
{
inOrder(rootNode.leftChild);
rootNode.goruntule();
inOrder(rootNode.rightChild);
}
}
public void postOrder(Node rootNode)
{
if(rootNode != null)
{
postOrder(rootNode.leftChild);
postOrder(rootNode.rightChild);
rootNode.goruntule();
}
}
public void ekle(int newData)
{
Node newNode = new Node();
newNode.data = newData;
if(root == null)
{
root = newNode;
}
else
{
Node gecici = root;
Node parent;
while(true)
{
parent = gecici;
if(newData < gecici.data)
{
gecici = gecici.leftChild;
if(gecici == null)
{
parent.leftChild = newNode;
return;
}
}
else
{
gecici = gecici.rightChild;
if(gecici == null)
{
parent.rightChild = newNode;
return;
}
}
}
}
}
}
Test.java
public class Test {
public static void main(String args[])
{
Tree tree = new Tree();
System.out.println("Sayilar :");
for(int i=0;i<9;i++)
{
int sayi = (int) (Math.random() * 99);
System.out.print(sayi + " ");
tree.ekle(sayi);
}
System.out.println("\nAğacı preorder dolas:");
tree.preOrder(tree.getRoot());
System.out.println("\nAğacı inder dolas:");
tree.inOrder(tree.getRoot());
System.out.println("\nAğacı postorder dolas:");
tree.postOrder(tree.getRoot());
}
}
Hiç yorum yok:
Yorum Gönder