二叉树的实现(Java语言描述)
2014-10-19 21:16
411 查看
实现二叉树 并先序遍历之。
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(); } }
相关文章推荐
- 二叉树的实现(Java语言描述)
- java 语言实现二叉树的各种操作
- (数据结构与算法分析 七)------优先队列中的二叉堆的实现( Java语言描述)
- 链表的实现(Java语言描述)
- 三元组顺序结构实现稀疏矩阵相加,行序优先(Java语言描述)
- KMP算法的实现(Java语言描述)
- (数据结构与算法分析 三)------栈的实现(包括链栈和数组实现栈 Java语言描述)
- 利用栈实现算术表达式求值(Java语言描述)
- 链表的实现(Java语言描述)
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)
- 行逻辑链接的顺序表实现稀疏矩阵的相乘(Java语言描述)
- (数据结构与算法分析 五)------二叉查找树的实现( Java语言描述)
- JAVA语言实现二叉树的层次遍历的非递归算法及递归算法
- 链表一元多项式计算器的实现(Java语言描述)
- java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
- (数据结构与算法分析 六)------散列表的实现( Java语言描述)
- 数据结构(java语言描述)-- 表的简单数组实现
- 数据结构(java语言描述)-- 栈的两种简单实现
- KMP算法的实现(Java语言描述)
- 链表一元多项式计算器的实现(Java语言描述)