gpt4 book ai didi

java - 谜语: Spot the serious bug in this bubble sort implementation

转载 作者:行者123 更新时间:2023-11-30 06:36:40 25 4
gpt4 key购买 nike

(不,这不是家庭作业,我只是发现了这个错误并认为在这里分享它可能会有用)

import java.util.List;

public class BubbleSorter {

public <T extends Comparable<T>> void sort(List<T> list) {
while (true) {
boolean didWork = false;
for (int i = 0; i < list.size() - 1; ++i) {
if (list.get(i).compareTo(list.get(i + 1)) > 0) {
swap(list, i, i + 1);
didWork = true;
break;
}
}

if (!didWork)
return;
}
}

private static <T> void swap(List<T> list, int i, int j) {
T tmp = list.get(i);
list.set(i, list.get(j));
list.set(j, tmp);
}
}

最佳答案

从严格意义上讲,这不是错误,但是当您发现反转时执行 break; 会使您的排序复杂度 O(n^3),这几乎是不可取的。 break 可以删除。

关于java - 谜语: Spot the serious bug in this bubble sort implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com