亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java treenode如何實現排序

小樊
81
2024-11-28 10:21:47
欄目: 編程語言

在Java中,你可以通過實現Comparable接口或提供一個Comparator來實現對樹節點的排序。下面是兩種方法的示例:

方法1:實現Comparable接口

class TreeNode implements Comparable<TreeNode> {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }

    @Override
    public int compareTo(TreeNode other) {
        return Integer.compare(this.val, other.val);
    }
}

在這個例子中,TreeNode類實現了Comparable接口,并重寫了compareTo方法。這樣,當你將TreeNode對象添加到TreeSetTreeMap等集合時,它們會自動根據值進行排序。

方法2:提供一個Comparator

import java.util.Comparator;

class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }
}

class TreeNodeComparator implements Comparator<TreeNode> {
    @Override
    public int compare(TreeNode node1, TreeNode node2) {
        return Integer.compare(node1.val, node2.val);
    }
}

在這個例子中,我們創建了一個名為TreeNodeComparator的類,它實現了Comparator接口,并重寫了compare方法。然后,你可以使用這個比較器對TreeNode對象進行排序,例如:

List<TreeNode> nodes = new ArrayList<>();
nodes.add(new TreeNode(3));
nodes.add(new TreeNode(1));
nodes.add(new TreeNode(2));

Collections.sort(nodes, new TreeNodeComparator());

這將根據節點的值對nodes列表進行排序。

0
六安市| 易门县| 临沂市| 突泉县| 锡林郭勒盟| 蒲城县| 庐江县| 乾安县| 武宣县| 磐安县| 普宁市| 鄂尔多斯市| 盐城市| 锡林浩特市| 恩平市| 长子县| 集安市| 香格里拉县| 涟源市| 盈江县| 晋州市| 阜平县| 马公市| 耿马| 富宁县| 西吉县| 循化| 集贤县| 家居| 苗栗县| 天峨县| 化州市| 彭泽县| 安吉县| 峨山| 临高县| 凤凰县| 崇明县| 昭通市| 岢岚县| 县级市|