博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java二叉树的实现和遍历
阅读量:5939 次
发布时间:2019-06-19

本文共 1616 字,大约阅读时间需要 5 分钟。

/* * Java实现二叉树 */public class BinaryTree {	int treeNode;	BinaryTree leftTree;	BinaryTree rightTree;		public BinaryTree(int Data) {		// TODO Auto-generated constructor stub		treeNode=Data;		leftTree=null;		rightTree=null;	}		public void insert(BinaryTree node,int data) {		if(data >node.treeNode){			if(node.rightTree==null){				rightTree=new BinaryTree(data);			}else{				this.insert(node.rightTree, data);			}		}else{			if (node.leftTree==null) {				leftTree=new BinaryTree(data);			}else{				this.insert(node.leftTree, data);			}		}	}}

 

/* * 对定义二叉树的,先序遍历,中序遍历,后序遍历 */public class BinaryTreeOrder {	public static void preOrder(BinaryTree root) { // 先序遍历		if (root != null) {			System.out.print(root.treeNode + "-");			preOrder(root.leftTree);			preOrder(root.rightTree);		}	}	public static void inOrder(BinaryTree root) { // 中序遍历		if (root != null) {			inOrder(root.leftTree);			System.out.print(root.treeNode + "--");			inOrder(root.rightTree);		}	}	public static void postOrder(BinaryTree root) { // 后序遍历		if (root != null) {			postOrder(root.leftTree);			postOrder(root.rightTree);			System.out.print(root.treeNode + "---");		}	}	public static void main(String[] args) {		int[] array = { 12, 76, 35, 22, 16, 48, 90, 46, 9, 40 };		BinaryTree root = new BinaryTree(array[0]); // 创建二叉树		for (int i = 1; i < array.length; i++) {			root.insert(root, array[i]); // 向二叉树中插入数据		}		System.out.println("先序遍历:");		preOrder(root);		System.out.println();		System.out.println("中序遍历:");		inOrder(root);		System.out.println();		System.out.println("后序遍历:");		postOrder(root);	}}

 

转载于:https://www.cnblogs.com/yoyohong/p/5657314.html

你可能感兴趣的文章
WPF中如何将ListViewItem双击事件绑定到Command
查看>>
《聚散两依依》
查看>>
小tips:你不知道的 npm init
查看>>
Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
查看>>
Jmeter也能IP欺骗!
查看>>
Rust 阴阳谜题,及纯基于代码的分析与化简
查看>>
ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
查看>>
(原創) array可以使用reference方式傳進function嗎? (C/C++)
查看>>
STM32F103--(二) GPIO实践
查看>>
关于开源无线路由器的资料
查看>>
Oracle 分页
查看>>
170多个Ionic Framework学习资源(转载)
查看>>
Azure:不能把同一个certificate同时用于Azure Management和RDP
查看>>
Silverlight 控件的验证
查看>>
Directx11教程(15) D3D11管线(4)
查看>>
Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
查看>>
ios ble 参考
查看>>
[转]Pass a ViewBag instance to a HiddenFor field in Razor
查看>>
linux中注册系统服务—service命令的原理通俗
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>