Оптимизированная пузырьковая сортировкаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Оптимизированная пузырьковая сортировка

Сообщение Anonymous »

Мне хотелось бы знать, как еще можно оптимизировать пузырьковую сортировку, чтобы она пропускала уже отсортированные элементы даже после первого прохода.
Eg. [4, 2, 3, 1, 5, 6] --> [2, 3, 1, **4, 5, 6**]

Мы видим, что [4,5,6] уже отсортированы. Как я могу изменить свой код, чтобы он пропускал эти 3 элемента на следующем проходе? Это означает, что сортировка будет более эффективной? Вы предлагаете рекурсивный метод?
public static void bubbleSort(int[] a) {
for (int i = 1; i < a.length; i++) {
boolean is_sorted = true;
for (int j = 0; j < a.length; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
is_sorted = false;
}
}
if (is_sorted) return;
}
}


Подробнее здесь: https://stackoverflow.com/questions/161 ... ubble-sort
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»