1. 1 class BinaryTree{
  1. 2 class Node{
  1. 3 private Comparable data;
  1. 4 private Node left;
  1. 5 private Node right;
  1. 6 public void addNode(Node newNode){
  1. 7 if(newNode.data.compareTo(this.data)<0){
  1. 8 if(this.left==null){
  1. 9 this.left=newNode;
  1. 10 }else{
  1. 11 this.left.addNode(newNode);
  1. 12 }
  1. 13 }
  1. 14 if(newNode.data.compareTo(this.data)>=0){
  1. 15 if(this.right==null){
  1. 16 this.right=newNode;
  1. 17 }else{
  1. 18 this.right.addNode(newNode);
  1. 19 }
  1. 20 }
  1. 21 }
  1. 22 public void printNode(){
  1. 23 if(this.left!=null){
  1. 24 this.left.printNode();
  1. 25 }
  1. 26 System.out.print(this.data+"\t");
  1. 27 if(this.right!=null){
  1. 28 this.right.printNode();
  1. 29 }
  1. 30 }
  1. 31 };
  1. 32 private Node root;
  1. 33 public void add(Comparable data){
  1. 34 Node newNode=new Node();
  1. 35 newNode.data=data;
  1. 36 if(root==null){
  1. 37 root=newNode;
  1. 38 }else{
  1. 39 root.addNode(newNode);
  1. 40 }
  1. 41 }
  1. 42 public void print(){
  1. 43 this.root.printNode();
  1. 44 }
  1. 45 };
  1. 46 public class BigIntDemo {
  1. 47 public static void main(String[] args) {
  1. 48 BinaryTree bt=new BinaryTree();
  1. 49 bt.add(8);
  1. 50 bt.add(3);
  1. 51 bt.add(3);
  1. 52 bt.add(10);
  1. 53 bt.add(9);
  1. 54 bt.add(1);
  1. 55 bt.add(5);
  1. 56 bt.add(5);
  1. 57 System.out.println("排序后的结果:");
  1. 58 bt.print();
  1. 59
  1. 60 }
  1. 61
  1. 62 }

java 二叉树排序的更多相关文章

  1. java二叉树排序实现

    原创:转载请注明出处 目的:想用java实现二叉树排序算法 思想:利用java中面向对象的思想,即: Tree:类 树根Tree:root //static所属于每一个Tree 左节点Tree:lef ...

  2. Java基础知识强化58:经典排序之二叉树排序(BinaryTreeSort)

    1. 二叉树排序 二叉树排序的描述也是一个递归的描述, 所以二叉树排序的构造自然也用递归的: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它 ...

  3. Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...

  4. Java 常用排序算法/程序员必须掌握的 8大排序算法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...

  5. java各种排序实现

    排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列. 对一个排序算法来说,一般从下面3个方面来衡量算法的优劣: 时间复杂度:它 ...

  6. Java常用排序算法及性能测试集合

    测试报告: Array length: 20000 bubbleSort : 573 ms bubbleSortAdvanced : 596 ms bubbleSortAdvanced2 : 583 ...

  7. Java各种排序算法

      Java各种排序算法详解 排序大的分类可以分为两种:内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.下面讲的排序都是属于内排序. 内排序有 ...

  8. java 集合排序(转)

    Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...

  9. java:高速排序算法与冒泡排序算法

     Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /**   *  * @Description:  * @author:cuiyaon ...

随机推荐

  1. 机器学习中应用到的各种距离介绍(附上Matlab代码)

    转载于博客:各种距离 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance). ...

  2. 工作中常用的linux命令(1)

    1.cd :进入一个目录,例如进入/home/admin目录:cd /home/admin 2.pwd :查看当前所在目录:如图: 3.ls :列出当前目录下的所有文件: 4.ll :列出当前目录下的 ...

  3. 在DirectShow的视频图像上叠加线条和文字

    在DirectShow的视频图像上叠加线条和文字 最近一直在从事工业测量方面的开发工作,难免会用到各种各样的相机,其中支持DX的USB相机开发起来比较方便,由于工作需要经常要在视频图像上叠加线条和文字 ...

  4. weak alias

    Weak Alias 跟 Weak Reference 完全没有任何关系,不过是我在看到 Weak Reference 的时候想到的而已. Weak Alias 是 gcc 扩展里的东西,实际上是函数 ...

  5. ssh禁止密码登录

    1.root用户登陆后,运行以下第一句指令,其他根据提示进行输入: ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file ...

  6. JavaScript控制输入框只能输入非负正整数

    1.问题背景 问题:一个输入框,输入的是月份,保证输入的内容只能是非负正整数 2.JavaScript代码 function checkMonth() { $("month").k ...

  7. pat1081-1090

    1081 #include<cmath> #include<map> #include<iostream> #include<cstring> #inc ...

  8. iOS - Quartz 2D 手势截屏绘制

    1.绘制手势截屏 具体实现代码见 GitHub 源码 QExtension QTouchClipView.h @interface QTouchClipView : UIView /** * 创建手势 ...

  9. eclipse - The superclass "javax.servlet.http.HttpServlet" was not found on the Java

  10. 创建文本节点createTextNode

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...