Когда дело доходит до простых алгоритмов сортировки, пузырьковая сортировка обычно является одним из них. Хотя это не один из самых эффективных алгоритмов сортировки, его простота и легкость понимания делают его хорошей отправной точкой для изучения алгоритмов сортировки. В этой статье мы подробно рассмотрим пузырьковую сортировку в Java.
Пузырьковая сортировка — это простой алгоритм сортировки, который несколько раз проходит сортируемые элементы, сравнивает размеры соседних элементов и меняет их местами, пока не будет отсортирована вся последовательность. Основная идея пузырьковой сортировки заключается в постепенном «переплывании» более крупных элементов к правому концу массива, в то время как более мелкие элементы постепенно «опускаются» к левому концу массива. Основной принцип заключается в следующем:
-2023-08-22-0636.png
Вот простой пример кода Java, который демонстрирует, как сортировать массив целых чисел с помощью пузырьковой сортировки:
public static void main(String[] args) {
int[] arr = new int[]{5,7,4,3,6,2};
bubbleSort(arr);
System.out.println("пузырьсортировать Законченныймножество:"+Arrays.toString(arr));
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
//Внешний цикл контролирует количество сортировок. Каждый проход пузырьковой сортировки будет «всплывать» самый большой элемент до конца множества, поэтому его необходимо выполнить. n-1 поездка, среди которой n общее количество элементов
for (int i = 0; i < n - 1; i++) {
//Внутренний цикл контролирует количество сравнений для каждого прохода. Поскольку каждый проход опускает самый большой элемент в конец множества, количество внутренних циклов постепенно уменьшается.
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// Поменять местами arr[j] и arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("Thing "+(i+1)+": "+Arrays.toString(arr));
}
}
Результат вывода:
Поездка 1: [5, 4, 3, 6, 2, 7]
Поездка 2: [4, 3, 5, 2, 6, 7]
Поездка 3: [3, 4, 2, 5, 6, 7]
Поездка 4: [3, 2, 4, 5, 6, 7]
Поездка 5: [2, 3, 4, 5, 6,7]
пузырьсортировать Законченныймножество:[2, 3, 4, 5, 6, 7]
Временная сложность пузырьковой сортировки равна: где n — количество элементов, подлежащих сортировке. Из-за низкой производительности пузырьковую сортировку обычно не рекомендуется использовать для больших наборов данных. Однако пузырьковая сортировка по-прежнему имеет свою ценность:
на Яве ЯДК,Пузырьковая сортировка обычно не используется непосредственно в реальном производственном коде. Java предоставляет более эффективный метод сортировки.,НапримерArrays.sort()
используется длямножестворуководитьсортировать,а такжеCollections.sort()
используется для коллекцийсортировать,Эти методы используют более эффективный алгоритм сортировки.,так быстросортироватьи объединитьсортировать。
Короче говоря, пузырьковая сортировка — это простой и понятный алгоритм сортировки, который играет важную роль в процессе изучения алгоритмов сортировки. Однако в реальных приложениях Java JDK предоставляет более эффективные методы сортировки, и для повышения производительности рекомендуется использовать эти методы. Ценность пузырьковой сортировки заключается в базовом понимании алгоритмов сортировки. В реальных проектах обычно необходимы более эффективные алгоритмы сортировки, чтобы справиться с потребностями сортировки крупномасштабных данных.