用java实现二叉树排序
以下是Java实现二叉树排序的示例代码:
public class BinaryTreeSort {
// 节点类
class Node {
int value;
Node left;
Node right;
Node(int value) {
this.value = value;
left = null;
right = null;
}
}
private Node root;
public BinaryTreeSort() {
root = null;
}
// 插入节点
public 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.left = insert(node.left, value);
} else {
node.right = insert(node.right, value);
}
}
return node;
}
// 中序遍历打印
public void printInorder() {
printInorder(root);
}
private void printInorder(Node node) {
if (node != null) {
printInorder(node.left);
System.out.print(node.value + " ");
printInorder(node.right);
}
}
public static void main(String[] args) {
BinaryTreeSort tree = new BinaryTreeSort();
tree.insert(5);
tree.insert(3);
tree.insert(7);
tree.insert(1);
tree.insert(9);
tree.insert(4);
System.out.println("排序前:");
tree.printInorder();
System.out.println("\n排序后:");
tree.printInorder();
}
}
运行结果:
排序前:
1 3 4 5 7 9
排序后:
1 3 4 5 7 9
以上代码实现了二叉树的排序,具体思路是将需要排序的数据依次插入到二叉树中,然后通过中序遍历获取有序的结果。
原文地址: http://www.cveoy.top/t/topic/qOq 著作权归作者所有。请勿转载和采集!