二叉树添加元素

通过递归方法向二叉树中添加元素:

  • 先创建一个public的add方法,使用户可以调用add方法,传入需要添加的值
//向二分搜索树添加一个新元素
		  public void add(E e) {
			  root=add(root,e);
		  }
  • 再创建一个private的add方法,进行递归寻找插入点
  • 传入add就对结点node进行一次判断:判断结点node是否为空,若空,就创建新结点与之相连并返回结点
  • 再根据传入数字的大小判断向左还是向右移动
private Node add(Node node,E e) {
			  if( node==null) {
				node=new Node(e);
				return node;
			  }
			  
			 if(e.compareTo(node.e)<0) {
				  node.left=add(node.left,e);
			  }
			 else if(e.compareTo(node.e)>0) {
				  node.right=add(node.right,e);
			  }
			
				 return node;//return前不能加else,否则编译器判错
			  
		  }

注意:为保证一定会有返回值,最后的return node前不能加else语句,但依旧是if - else if - else 句式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值