• 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);
            }
        }
    }
  • 相关阅读:
    DHCP协议详解(硬件方面原理)
    ASP.NET安全认证
    JAVA打包成.jar可运行项目
    JAVA菜单事件
    JAVA事件概述
    JAVA对话框事件
    各种事件汇聚
    把原来可空的列变成主键
    搜索模式中的所有表
    JAVA选项事件
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/3746709.html
Copyright © 2020-2023  润新知