【发布时间】:2018-10-25 06:59:19
【问题描述】:
我已经改变了我的冒泡排序,从实现应用程序在排序的每个步骤中遍历整个列表。
这不是必需的,因为在第一次遍历后,最小的项目将位于列表的末尾,而在第二次遍历后,第二小的项目将位于正确的位置(倒数第二个),依此类推。我有点不确定到底需要改变什么。
我需要修改冒泡排序,使其不会执行不必要的比较。
private void bubbleSort() {
int currentCount = 0;
showStatus("Sorting ...");
boolean swap = true;
while (swap) {
swap = false;
for (int i = 0; i < items.length - 1; i++) {
if (greaterThan(items[i], items[i + 1])) {
swapItems(items[i], items[i + 1]);
swap = true;
currentCount++;
}
} // for
} // while
showStatus("Sort complete, number of swaps = " + currentCount);
} // bubbleSort private void bubbleSort() {
【问题讨论】:
-
请删除不必要的代码
标签: java sorting bubble-sort