java比较器的应用(实现二叉树的排序算法)
2013-06-10 22:08
316 查看
本程序需要上一篇博客代码支持,详见java比较器的应用
package comparabledemo; class Node { private Comparable data; private Node left; private Node right; public Node() { super(); } public Node(Comparable data) { super(); this.data = data; } /** 添加接点 */ @SuppressWarnings("unchecked") public void addNode(Node n) { /** 添加左子树 */ if (this.data.compareTo(n.data) < 0) { if (this.left == null) { this.left = n; } else { this.left.addNode(n); } /** 添加右子树 */ } else{ // if (this.data.compareTo(n.data) >= 0) if (this.right == null) { this.right = n; } else { this.right.addNode(n); } } } /** !输出接点 */ public void printNode() { if (this.left != null) { this.left.printNode(); } System.out.println(this.data); if (this.right != null) { this.right.printNode(); } } } public class BinaryTree { private Node root; // 打印树的内容 public void print() { this.root.printNode(); } // 添加元素 public void add(Comparable d) { Node newNode = new Node(d); if (root == null) { root = newNode; } else { root.addNode(newNode); } } public static void main(String[] args) { BinaryTree btree=new BinaryTree(); Comparable<StudentCompare> s1 = new StudentCompare("李成明", 55100617); Comparable<StudentCompare> s2 = new StudentCompare("王瑶", 55100619); Comparable<StudentCompare> s3 = new StudentCompare("李大鹏", 55100614); Comparable<StudentCompare> s4 = new StudentCompare("赵国良", 55100613); Comparable<StudentCompare> s5 = new StudentCompare("赵国良", 55100613); Comparable<StudentCompare> s6 = new StudentCompare("胖子", 55100607); Comparable<StudentCompare> s7 = new StudentCompare("白胖", 55100623); btree.add(s1); btree.add(s2); btree.add(s3); btree.add(s4); btree.add(s5); btree.add(s6); btree.add(s7); // btree.add(5); // btree.add(4); // btree.add(8); // btree.add(6); // btree.add(4); // btree.add(3); btree.print(); } }
相关文章推荐
- (2)Java数据结构--二叉树 -和排序算法实现
- Java比较器(Comparable二叉树的实现)
- 二叉树的应用——表达式树的原理分析与实现(Java语言)
- 重修大学JAVA课--应用类型比较器的实现方法:完善版
- 数据结构之基于Java的二叉树实现
- 二叉树的前序,中序,后序遍历Java实现
- 黑马程序员-java枚举实现原理及应用
- 排序算法之直接插入排序(java实现)
- 基础排序算法,java实现(快速,冒泡,选择,堆排序,插入)
- 二叉树的逐层遍历--java实现
- 【排序算法】简单选择排序(java实现)
- JAVA实现二叉树的基本操作
- Java多线程与并发应用-(10)-java阻塞队列实现ArrayBlockingQueue
- java 二叉树的实现与先序遍历和层次遍历
- HMAC的JAVA实现和应用
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 数据结构与算法分析笔记与总结(java实现)--二叉树笔记
- 常见排序算法Java实现及复杂度总结
- 数据结构与算法分析笔记与总结(java实现)--二叉树13:平衡二叉树
- 详细总结各种排序算法(Java实现)