zoukankan      html  css  js  c++  java
  • JAVA向,二叉查找树

    满足二叉查找树的存储规则。

    类似折半查找:

    import javax.management.remote.rmi._RMIConnectionImpl_Tie;
    
    /**
     * Created by John on 14-5-22.
     */
    public class IntTree {
        private static class IntTreeNode
        {
            private int data;
            private IntTreeNode leftLink;
            private IntTreeNode rightLink;
    
            public IntTreeNode(int newData,IntTreeNode newLeftLink,IntTreeNode newRightLink)
            {
                data =newData;
                leftLink=newLeftLink;
                rightLink=newRightLink;
            }
        }
        private IntTreeNode root;
        public IntTree()
        {
            root=null;
        }
        public void add(int item)
        {
            root=insertInSubtree(item,root);
        }
        public boolean contains(int item)
        {
            return isInSubtree(item,root);
        }
        public void showElements()
        {
            showElementsInSubtree(root);
        }
        private static boolean isInSubtree(int item,IntTreeNode subTreeRoot)
        {
            if(subTreeRoot==null)
                return new IntTreeNode(item,null,null);
            else if(item <subTreeRoot.data)
            {
                subTreeRoot.leftLink=insertInSubtree(item, subTreeRoot.leftLink);
                return subTreeRoot;
            }
            else
            {
                subTreeRoot.rightLink=insertInSubtree(item,subTreeRoot.rightLink);
                return subTreeRoot;
            }
        } 
        private static boolean isInSubtree(int item,IntTreeNode subTreeRoot)
        {
            if(subTreeRoot==null)
                return false;
            else if(subTreeRoot.data==item)
                return true;
            else if(item<subTreeRoot.data)
                return isInSubtree(item,subTreeRoot.leftLink);
            else
                return isInSubtree(item,subTreeRoot.rightLink);
        }
        private static void showElementsInSubtree(IntTreeNode subTreeRoot)
        {
            if(subTreeRoot!=null)
            {
                showElementsInSubtree(subTreeRoot.leftLink);
                System.out.print(subTreeRoot.data+" ");
                showElementsInSubtree(subTreeRoot.rightLink);
            }
        }
    }
  • 相关阅读:
    vue 样式使用总结
    安卓内嵌H5只展示部分静态页面
    Excel 2016入门与提高
    Oracle Exadata技术详解
    计算机网络基础
    Photoshop扁平化平面设计手册
    C程序设计伴侣——帮你更好地理解谭浩强老师的那本书以及更多!
    中文版Project 2007实用教程
    新手学CorelDRAW X8商业设计200+
    Altium Designer 17电路设计与仿真从入门到精通
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/3746709.html
Copyright © 2011-2022 走看看