• 二叉树的实现(Java语言描述)


    实现二叉树   并先序遍历之。

    package 二叉树的实现;
    
    public class BinaryTree<T> {
       
        class Node {
            int value; // 该节点存储的值。
            Node leftChild; // 指向左子节点的引用。
            Node rightChild; // 指向右子节点的引用。
            Node(int value) {
                this.value = value;
                leftChild = null;
                rightChild = null;
            }
        }
        private Node root; // 根节点。
        BinaryTree() {
            root = null;
        }
        BinaryTree(int[] arr) {
            for (int i : arr) {
                insert(i);
            }
        }
        private void insert(int value) {
            root = insert(root, value);
        }
        private Node insert(Node node, int value) {
            if (node == null) {
                node = new Node(value);
            } else {
                if (value <= node.value) {
                    node.leftChild = insert(node.leftChild, value);
                } else {
                    node.rightChild = insert(node.rightChild, value);
                }
            }
            return node;
        }
        private void visit(Node node) {
            if (node == null) {
                return;
            }
            
            int value = node.value;
            System.out.println(value);
        }
        private void preOrderTravels(Node node) {
            if (node == null) {
                return;
            } else {
                visit(node);
                preOrderTravels(node.leftChild);
                preOrderTravels(node.rightChild);
            }
        }
        public void preOrderTravels() {
            preOrderTravels(root);
        }
    }


     

    package 二叉树的实现;
    
    import java.util.*;
    
    public class Treetest {
    
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		int[] arr = new int[10];
    		int m,n;
    		for(int i=0; i<10; i++){
    			arr[i] = scan.nextInt();
    		}
    		BinaryTree<Integer> tree = new BinaryTree<Integer>(arr);
    		tree.preOrderTravels();
    
    	}
    	
    }
    


     

  • 相关阅读:
    datatables出现横向滚动条
    mumu模拟器设置代理/打开网络连接(windows)
    a标签下划线
    python 配置导入方式
    redis命令
    django+mongodb 内置用户控制
    异常补充
    关于异常的总结
    java 常用类的方法
    java 日期时间类加Calendar的set和add方法
  • 原文地址:https://www.cnblogs.com/wxisme/p/4363777.html
Copyright © 2020-2023  润新知