• java二叉树的实现和遍历


    /*
     * 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);
    	}
    }
    
  • 相关阅读:
    composer 的安装以及一些插件的下载等
    linux 服务器安装php5.6
    数据库异地备份---服务器配置流程
    expect安装
    linux 服务器安装mysql5.6
    使用navicat 使用IP、用户名、密码直接连接linux服务器里面的数据库
    函数指针 指针函数
    信号量
    消息队列-Message Queue
    生成库文件,会链接依赖的库文件吗?
  • 原文地址:https://www.cnblogs.com/yoyohong/p/5657314.html
Copyright © 2020-2023  润新知