创建二叉搜索树

public class MyBinarySearchTree {
	public Node root; //记录根节点
	public Node current;
     class Node{  
        public Node left;  //左孩子
        public Node right; //右孩子 
        public int data;   //数据
        public Node(int data){  
            this.left = null;  
            this.right = null;  
            this.data = data;  
        }  
    }
     //增加节点
     public void addNode(int data){
    	 if(root == null){		//为空树
    		 root =new Node(data);
    	 }
    	 else{
    		 current = root;
	    	 while(current != null){   //寻找叶子节点
	    		 if(data <= current.data){
	    			 if(current.left == null){
	    				 current.left = new Node(data);
	    				 break;
	    			 }
	    			 current = current.left;
	    			 
	    		 }
	    		 else{
	    			 if(current.right == null){
	    				 current.right = new Node(data);	    				 
	    				 break;
	    			 }
	    			 current = current.right;
	    		 }
    		 }
    	 }
     }
     //中序遍历树
     public void inOrderPrintTree(Node node){
    	 if(node != null){
	    	 inOrderPrintTree(node.left);
	    	 System.out.print(node.data+",");
	    	 inOrderPrintTree(node.right);
    	 }
     }
     //===========================================================================
     public static void main(String[] args) {
    	 MyBinarySearchTree my =new MyBinarySearchTree();
    	 //下列插入顺序可以打乱 
    	   my.addNode(9);
    	   my.addNode(5);
    	   my.addNode(15);
    	   my.addNode(3);
    	   my.addNode(7);
    	   my.addNode(11);
    	   my.addNode(17);
    	   my.addNode(6);
    	   my.addNode(4);
    	   my.addNode(1);
    	   my.addNode(10);
    	   my.addNode(8);
    	   my.addNode(12);
    	   my.addNode(16);
    	   my.addNode(7);
    	   System.out.println("中序遍历:");
    	   my.inOrderPrintTree(my.root);
	}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值