以下是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 

以上代码实现了二叉树的排序,具体思路是将需要排序的数据依次插入到二叉树中,然后通过中序遍历获取有序的结果。

用java实现二叉树排序

原文地址: http://www.cveoy.top/t/topic/qOq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录