java写的二叉搜索树(生成和前序遍历)

个人打竞赛多用c/c++,之前除了用到大数时,几乎没用java写过算法和数据结构......记得当时刚刚学习java时,看到一段用java写的数据结构的代码,有些懵逼,传参啦,递归啦,和c++均有差异,就没着重去研究。学了近一年OO思想,正好最近也在巩固java,想起此事,顺手用java写个二叉搜索树吧,十分简单,不过只写了点插入和前序遍历,读者莫黑......下个阶段做算法题可以尝试着用java,用好java,万一明年蓝桥报的是java组,或许能拿国一呢,哈哈。

package pack1;
import java.util.*;
class TreeNode{
	private int data;
	private TreeNode left,right;
	public TreeNode(int te){
		this.data = te;
		this.left = this.right =null;
	}
	public static TreeNode insert(TreeNode root,int te){
		if(root == null){
			root = new TreeNode(te);
		}
		else if(te < root.data){
			root.left = TreeNode.insert(root.left, te);
		}
		else{
			root.right = TreeNode.insert(root.right,te);
		}
		return root;
	}
	public void preOrder(){
		System.out.print(this.data+" ");
		if(this.left != null){
			this.left.preOrder();
		}
		if(this.right != null){
			this.right.preOrder();
		}
	}
}
public class Main1{
	public static void main(String []args){
		int n;
		TreeNode root = null;
		Scanner reader = new Scanner(System.in);
		n= reader.nextInt();
		for(int  i = 0;i < n;i++){
			int te = reader.nextInt();
			root = TreeNode.insert(root,te);
		}
		if(root != null){
			root.preOrder();
		}
	}
}



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值