• 二叉排序树的构建及中序遍历,层序遍历


    package demo1;
    
    import java.util.LinkedList;
    
    import org.junit.Test;
    
    class Node{
        int data;
         Node rightChild;
         Node leftChild;
        public Node(int data){
            this.data=data;
        }
    }
    public class BinaryTree {
        
        private Node root;
        public BinaryTree(){
            root=null;
        }
        public   void insert(int num){
            Node node=new Node(num);
            if(root==null){
                root=node;
                return;
            }else{
                Node current=root;
                Node parent;
                while(true){
                    parent=current;
                    if(num<current.data){
                        current=parent.leftChild;
                        if(current==null){
                            parent.leftChild=node;
                            return;
                        }
                    }else{
                        current=parent.rightChild;
                        if(current==null){
                            parent.rightChild=node;
                            return;
                        }
                        
                    }
                }
                
            }
        }
        @Test
        public  void te() {
            int[]arr={88,55,2,6,44,1,75,3};
            for (int i : arr) {
                insert(i);
            }
            bianli(root);
            cengxu(root);
        }
        public void cengxu(Node node){
            if(node==null){
                return;
            }
            LinkedList<Node>list=new LinkedList<>();
            Node current=null;
            list.addLast(node);
            while(!list.isEmpty()){
                current=list.removeFirst();
                System.out.print(current.data+",");
                if(current.leftChild!=null){
                    list.addLast(current.leftChild);
                }
                if(current.rightChild!=null){
                    list.addLast(current.rightChild);
                }
            }
        }
        public void bianli(Node node){
            if(node!=null){
                bianli(node.leftChild);
                System.out.print(node.data+",");
                bianli(node.rightChild);
            }
            
        }
    
    }
  • 相关阅读:
    WebView loadData乱码问题
    记录常用工具
    android toolbar学习
    百度地图V5.0地图定位
    JS调JAVA代码
    开始使用Android Stdio
    记录下平时看到的好句子
    开发者必备网址
    android:ellipsize实现跑马灯效果总结
    seo查询命令
  • 原文地址:https://www.cnblogs.com/2nao/p/6759333.html
Copyright © 2020-2023  润新知