Я изменил свою пузырьковую сортировку от реализации приложения, пересекающего весь список во время каждого шага сортировки.
В этом нет необходимости, поскольку после первого обхода самый маленький элемент будет в конце списка.и после второго обхода второй наименьший элемент будет в правильном положении (2-й последний) и так далее.Я немного не уверен, что именно нужно изменить.
Мне нужно изменить сортировку пузырьков, чтобы она не выполняла ненужных сравнений.
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() {