1

Java 代码:

    public static NHLList bubbleSort(NHLList players) {
        for (int i = 0; i < players.size(); i++) {
            for (int j = 0; j < players.size()-1; j++) {
                if (players.get(j).getPoints() < players.get(j+1).getPoints()) {
                    PlayerRecord tempPlayer = players.get(j);
                    players.set(players.get(j+1), j);
                    players.set(tempPlayer, j+1);
                }
            }
        }
        return players;
    }

如果我更改j < ...j > ...结果列表,则不是先前的列表倒置,尽管我认为它应该是。它所做的只是读取数字。

4

2 回答 2

5

卷起袖子

您正在反转错误行上的标志。

于 2012-10-08T15:20:35.510 回答
1

正如其他人指出的那样,请指定您正在编辑哪一行。如果您正在编辑正确的行,那么您可能会不高兴听到这实际上并没有实现 BubbleSort

您实际上是在对列表n时间执行完整扫描,在某些情况下,这可能会导致排序列表,但实际上并不是BubbleSort全部。我建议您研究您的代码并尝试自己弄清楚为什么您的循环计数器i从未在代码中被引用(除了在循环控制中)。

于 2012-10-08T15:28:28.547 回答