Сортировка "пузырьком" на Java
Сортировка "пузырьком" (Bubble sort) - это самый простой алгоритм сортировки, он сравнивает первые два элемента, если первый больше второго, меняет их местами, продолжает выполнять (сравнивает и меняет местами) следующую пару смежных элементов. Затем он начинается снова с первых двух элементов, сравнивает, переставляет, пока не потребуется перестановка.
Вот пример реализации сортировки "пузырьком" на Java.
public static int[] sort(int[] data) {
int dataLength = data.length;
int swap;
boolean sorted;
for (int i = 0; i < dataLength; i++) {
sorted = true;
for (int a = 1; a < (dataLength - i); a++) {
if (data[a - 1] > data[a]) {
swap = data[a - 1];
data[a - 1] = data[a];
data[a] = swap;
sorted = false;
}
}
// если отсортировано - выходим, пропуская ненужный цикл.
if (sorted) break;
}
return data;
}
Опробуем его с тестовыми данными.
package Bubble;
public class Main {
public static void main (String[] args) {
int[] data = {33, 22, 44, 88, 11, 77};
String sorted = "";
for (int el : sort(data)) {
sorted += String.valueOf(el)+" ";
}
System.out.println(sorted);
}
public static int[] sort(int[] data) {
int dataLength = data.length;
int swap;
boolean sorted;
for (int i = 0; i < dataLength; i++) {
sorted = true;
for (int a = 1; a < (dataLength - i); a++) {
if (data[a - 1] > data[a]) {
swap = data[a - 1];
data[a - 1] = data[a];
data[a] = swap;
sorted = false;
}
}
// если отсортировано, выходим, пропуская ненужный цикл.
if (sorted) break;
}
return data;
}
}
Вывод:
11 22 33 44 77 88
Комментарии
Отправить комментарий