中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
石渠县| 岑溪市| 云和县| 蓝山县| 康乐县| 湘潭县| 宁都县| 庆安县| 靖宇县| 平塘县| 敦化市| 崇义县| 蓬安县| 东山县| 易门县| 东至县| 洛隆县| 河间市| 腾冲县| 观塘区| 河曲县| 吕梁市| 廊坊市| 当涂县| 新昌县| 福州市| 尉犁县| 南投市| 兴文县| 池州市| 关岭| 湟中县| 两当县| 白玉县| 新宁县| 乐安县| 广平县| 左贡县| 邵武市| 会理县| 东乡族自治县|