zoukankan      html  css  js  c++  java
  • 二叉树的实现(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();
    
    	}
    	
    }
    


     

  • 相关阅读:
    最大子数组1
    大道至简阅读笔记03
    I-think-3
    第3周学习进度
    大道至简阅读笔记02
    四则运算题3
    大道至简阅读笔记01
    第2周学习进度
    构建之法阅读笔记03
    按Right-BICEP的测试用例
  • 原文地址:https://www.cnblogs.com/wxisme/p/4363777.html
Copyright © 2011-2022 走看看