91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
逊克县| 札达县| 淳安县| 永新县| 扬州市| 康平县| 防城港市| 星子县| 呼和浩特市| 九龙县| 辉南县| 安顺市| 芮城县| 荣昌县| 娄烦县| 南康市| 龙口市| 金阳县| 武隆县| 泾源县| 台北县| 方山县| 阳曲县| 涞水县| 九龙城区| 吉隆县| 钟山县| 上思县| 南宁市| 金乡县| 保靖县| 五大连池市| 沭阳县| 乐至县| 七台河市| 平罗县| 仪征市| 伊宁县| 阜宁县| 电白县| 砚山县|