java 二叉树排序

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

java 二叉树排序的更多相关文章
- java二叉树排序实现
原创:转载请注明出处 目的:想用java实现二叉树排序算法 思想:利用java中面向对象的思想,即: Tree:类 树根Tree:root //static所属于每一个Tree 左节点Tree:lef ...
- Java基础知识强化58:经典排序之二叉树排序(BinaryTreeSort)
1. 二叉树排序 二叉树排序的描述也是一个递归的描述, 所以二叉树排序的构造自然也用递归的: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它 ...
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...
- Java 常用排序算法/程序员必须掌握的 8大排序算法
Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...
- java各种排序实现
排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列. 对一个排序算法来说,一般从下面3个方面来衡量算法的优劣: 时间复杂度:它 ...
- Java常用排序算法及性能测试集合
测试报告: Array length: 20000 bubbleSort : 573 ms bubbleSortAdvanced : 596 ms bubbleSortAdvanced2 : 583 ...
- Java各种排序算法
Java各种排序算法详解 排序大的分类可以分为两种:内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.下面讲的排序都是属于内排序. 内排序有 ...
- java 集合排序(转)
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...
- java:高速排序算法与冒泡排序算法
Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /** * * @Description: * @author:cuiyaon ...
随机推荐
- 机器学习中应用到的各种距离介绍(附上Matlab代码)
转载于博客:各种距离 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance). ...
- 工作中常用的linux命令(1)
1.cd :进入一个目录,例如进入/home/admin目录:cd /home/admin 2.pwd :查看当前所在目录:如图: 3.ls :列出当前目录下的所有文件: 4.ll :列出当前目录下的 ...
- 在DirectShow的视频图像上叠加线条和文字
在DirectShow的视频图像上叠加线条和文字 最近一直在从事工业测量方面的开发工作,难免会用到各种各样的相机,其中支持DX的USB相机开发起来比较方便,由于工作需要经常要在视频图像上叠加线条和文字 ...
- weak alias
Weak Alias 跟 Weak Reference 完全没有任何关系,不过是我在看到 Weak Reference 的时候想到的而已. Weak Alias 是 gcc 扩展里的东西,实际上是函数 ...
- ssh禁止密码登录
1.root用户登陆后,运行以下第一句指令,其他根据提示进行输入: ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file ...
- JavaScript控制输入框只能输入非负正整数
1.问题背景 问题:一个输入框,输入的是月份,保证输入的内容只能是非负正整数 2.JavaScript代码 function checkMonth() { $("month").k ...
- pat1081-1090
1081 #include<cmath> #include<map> #include<iostream> #include<cstring> #inc ...
- iOS - Quartz 2D 手势截屏绘制
1.绘制手势截屏 具体实现代码见 GitHub 源码 QExtension QTouchClipView.h @interface QTouchClipView : UIView /** * 创建手势 ...
- eclipse - The superclass "javax.servlet.http.HttpServlet" was not found on the Java
- 创建文本节点createTextNode
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...