A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaochongbojue 中级黑马   /  2014-10-21 15:13  /  738 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package exam;
  2. import java.util.Arrays;
  3. class Student1 implements Comparable<Student1>{
  4.          private String name;
  5.          private int age;
  6.          private float score;
  7.          public Student1(String name,int age,float score){
  8.                  this.name=name;
  9.                  this.age=age;
  10.                  this.score=score;
  11.          }
  12.         @Override
  13.         public int compareTo(Student1 o) {
  14.                  if(this==o)
  15.                          return 0;
  16.                  if(this.score==o.score&&this.age==o.age){
  17.                          return 0;
  18.                  }
  19.                  if(this.score>o.score)
  20.                          return 1;
  21.                  if(this.score==o.score){
  22.                          if(this.age>o.age)
  23.                                  return -1;
  24.                          else if(this.age==o.age)
  25.                                  return 0;
  26.                          else if(this.age<o.age)
  27.                                  return 1;
  28.                  }
  29.                  return -1;
  30.         }
  31.         public String toString(){
  32.                 return name+","+age+","+score;
  33.         }
  34. }
  35. class BinaryTree{
  36.        
  37.        
  38.         //定义内部节点类
  39.            class Node{
  40.                     private Comparable<Comparable> data;
  41.                     private Node left;
  42.                     private Node right;
  43.                     public Node(Comparable<Comparable> node){
  44.                             this.data=node;
  45.                     }
  46.                     //定义增加节点方法
  47.                     
  48.                     public void add(Node n){
  49.                             if(this.data.compareTo(n.data)>0){
  50.                                     if(this.right==null){
  51.                                             this.right=n;
  52.                                     }
  53.                                     else{
  54.                                     this.right.add(n);
  55.                                     }
  56.                             }
  57.                             if(this.data.compareTo(n.data)<=0){
  58.                                     if(this.left==null){
  59.                                             this.left=n;
  60.                                     }else{
  61.                                     this.left.add(n);
  62.                                     }
  63.                             }
  64.                                    
  65.                     }
  66.                     
  67.                     
  68.                     
  69.                     public void  print(){
  70.                             if(this.left!=null){
  71.                                     this.left.print();
  72.                             }
  73.                             System.out.println(this.data);
  74.                             if(this.right!=null){
  75.                                     this.right.print();
  76.                             }
  77.                     }
  78.            }
  79.            private Node root;
  80.            public void add(Comparable node){
  81.                    if(this.root==null){
  82.                            this.root=new Node(node);
  83.                    }else{
  84.                    root.add(new Node(node));
  85.                    }
  86.            }
  87.            public void print(){
  88.                    if(this.root==null){
  89.                            System.out.println("二叉树为空");
  90.                    }
  91.                    this.root.print();
  92.            }
  93. }
  94. public class MySort {
  95.            public static void main(String args[]){
  96.                    Student1 s[]={new Student1("李四",21,89),new Student1("王五",22,89),new Student1("赵六",22,90),new Student1("赵七",23,70)};
  97.                    System.out.println("排序之前:"+Arrays.toString(s));
  98.                    Arrays.sort(s);
  99.                    System.out.println("排序之后:"+Arrays.toString(s));
  100.                    BinaryTree bt=new BinaryTree();
  101.                    bt.add(6);bt.add(100);bt.add(99);bt.add(34);bt.add(55);bt.add(1);
  102.                    bt.print();
  103.            }
  104. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马