基于Comparable接口实现的二叉树操作
2014-11-26 00:00
281 查看
摘要: 我也不太懂,没看明白
class BinaryTree
{
class Node
{
private Comparable date;
private Node left;
private Node right;
public void addNode(Node newNode)
{
if (newNode.date.compareTo(this.date)<0)
{
if (this.left == null)
{
this.left= newNode;
} else
{
this.left.addNode(newNode);
}
}
if (newNode.date.compareTo(this.date)>=0)
{
if (this.right==null)
{
this.right= newNode;
} else
{
this.right.addNode(newNode);
}
}
}
public void printNode()
{
if (this.left!= null)
{
this.left.printNode();
}
System.out.print(this.date + "\t");
if(this.right != null)
{
this.right.printNode();
}
}
}
private Node root;
public void add(Comparable date )
{
Node newNode= new Node();
newNode.date=date;
if (root== null)
{
root= newNode;
} else
{
root.addNode(newNode);
}
}
public void print()
{
this.root.printNode();
}
}
public class ComparableDemo3
{
/**
* @param args
*/
public static void main(String[] args)
{
BinaryTree bt = new BinaryTree();
bt.add(8);
bt.add(2);
bt.add(4);
bt.add(6);
bt.add(0);
bt.add(7);
bt.add(9);
bt.add(1);
System.out.print("排序后的结果:");
bt.print();
}
}
class BinaryTree
{
class Node
{
private Comparable date;
private Node left;
private Node right;
public void addNode(Node newNode)
{
if (newNode.date.compareTo(this.date)<0)
{
if (this.left == null)
{
this.left= newNode;
} else
{
this.left.addNode(newNode);
}
}
if (newNode.date.compareTo(this.date)>=0)
{
if (this.right==null)
{
this.right= newNode;
} else
{
this.right.addNode(newNode);
}
}
}
public void printNode()
{
if (this.left!= null)
{
this.left.printNode();
}
System.out.print(this.date + "\t");
if(this.right != null)
{
this.right.printNode();
}
}
}
private Node root;
public void add(Comparable date )
{
Node newNode= new Node();
newNode.date=date;
if (root== null)
{
root= newNode;
} else
{
root.addNode(newNode);
}
}
public void print()
{
this.root.printNode();
}
}
public class ComparableDemo3
{
/**
* @param args
*/
public static void main(String[] args)
{
BinaryTree bt = new BinaryTree();
bt.add(8);
bt.add(2);
bt.add(4);
bt.add(6);
bt.add(0);
bt.add(7);
bt.add(9);
bt.add(1);
System.out.print("排序后的结果:");
bt.print();
}
}
相关文章推荐
- 基于Comparable接口实现的二叉树操作
- 基于Comparable接口实现二叉树操作
- 实现二叉树操作的主函数
- 再论面向接口编程(用接口来操作具有相同行为的子类来实现需要的功能)
- Oracle 调用接口 (Orale Call Interface,OCI) 【实现各种语言操作Oracle数据库】简介
- java实现二叉树的常见操作
- 不疯魔,不成活!——二叉树的创建、遍历(递归实现)等操作。
- 二叉树基本操作的程序实现
- 二叉树基本操作实现(二叉树的顺序存储)
- 二叉树的一些操作(C语言实现)
- java实现二叉树的常见操作
- 用数组实现顺序存储二叉树及操作的实现
- 利用RIL代理接口实现短信的操作之短信的接收
- 利用RIL代理接口实现短信的操作之短信的接收(转)
- 【数据结构】二叉树基本操作的程序实现
- java 语言实现二叉树的各种操作
- 二叉树的部分操作实现
- java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
- Delphi 的接口机制——接口操作的编译器实现过程(1)
- 二叉树操作实现