java二叉树的实现_二叉树的实现(Java语言描述)
實現二叉樹 并先序遍歷之。
package 二叉樹的實現;
public class BinaryTree {
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 tree = new BinaryTree(arr);
tree.preOrderTravels();
}
}
https://www.cnblogs.com/wxisme/category/670207.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java二叉树的实现_二叉树的实现(Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果HomePod新品可能会配备屏幕 有
- 下一篇: java美元兑换,(Java实现) 美元