29. Сортировка массива чисел #
Условие задачи:
🔥 Напишите функцию, которая принимает массив int[]
, сортирует его по возрастанию и возвращает результат.
Спойлеры к решению
Подсказки
💡 Используй алгоритм пузырьковой сортировки (Bubble Sort).
💡 Сравнивай соседние элементы и меняй местами, если они стоят не в том порядке.
💡 Повторяй процесс, пока массив не отсортируется.
💡 Сложность такого алгоритма — O(n²), он подходит только для небольших массивов.
💡 Сравнивай соседние элементы и меняй местами, если они стоят не в том порядке.
💡 Повторяй процесс, пока массив не отсортируется.
💡 Сложность такого алгоритма — O(n²), он подходит только для небольших массивов.
Решение
public class ArrayUtils {
public static int[] sortArray(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
public static void main(String[] args) {
int[] nums = {9, 4, 7, 3, 1};
int[] sorted = sortArray(nums);
for (int n : sorted) {
System.out.print(n + " ");
}
// Вывод: 1 3 4 7 9
}
}
📌 Что важно помнить:
✅ Мы не используем Arrays.sort()
— это ручная реализация.
✅ Это пузырьковая сортировка, простая в реализации.
✅ Подходит для обучения и простых задач, но неэффективна для больших массивов.
✅ Можно улучшить, добавив флаг для выхода при уже отсортированном массиве.