二叉树的实现(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(); } }
作者:Pickle
声明:对于转载分享我是没有意见的,出于对博客园社区和作者的尊重一定要保留原文地址哈。
致读者:坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。