zoukankan      html  css  js  c++  java
  • Java面向对象_常用类库api——二叉树数据结构实现

    二叉树是每个节点最多有两个子树的有序树。通常子树被称为"左子树"和"右子树".

    二叉树算法的排序规则:

    1.选择第一个元素作为根节点

    2.之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树

    3.最后按照中序遍历的方式进行输出,则可以得到排序的结果(左->根->右)

       8、3、10、1、6、14、4、7、13

     1 public class BinaryTree {
     2     private Node root;
     3     public void addNode(int data){
     4         if(this.root==null){
     5             root=new Node(data);
     6         }else{
     7             root.add(data);
     8         }
     9     }
    10     public void printNode(){
    11         if(root!=null){
    12             root.print();
    13         }
    14     }
    15     
    16     
    17     
    18      private class Node{
    19          private int data;
    20          private Node left;
    21          private Node right;
    22         public Node(int data) {
    23             super();
    24             this.data = data;
    25         }
    26          public void add(int data){
    27              if(this.data>data){
    28                  if(left==null){
    29                      left=new Node(data);
    30                  }else{
    31                     left.add(data);
    32                  }
    33                 
    34              }else if(this.data<=data){
    35                  if(this.right==null){
    36                      this.right=new Node(data);
    37                  }else{
    38                      this.right.add(data);
    39                  }
    40              }
    41          }
    42          //中序遍历,规则:左 根 右
    43          public void print(){
    44              if(this.left!=null){
    45                  this.left.print();
    46              }
    47              System.out.print(this.data+"->");
    48              if(this.right!=null){
    49                  this.right.print();
    50              }
    51          }
    52      }
    53 }
  • 相关阅读:
    原生CSS、HTML 和 JavaScript 实现酷炫表单
    Vite2 如何设置打包后文件名
    读罢effective java,并不感觉特别好
    第六章部分习题答案
    第七章部分习题答案
    第八章部分习题答案
    mybatis 3.3.0之前版本的一个空指针BUG
    避免使用finalize方法
    mlp房价预测
    逻辑回归
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/5089676.html
Copyright © 2011-2022 走看看