Task Livecoding Java Sort Array

29. Сортировка массива чисел #

Условие задачи:
🔥 Напишите функцию, которая принимает массив int[], сортирует его по возрастанию и возвращает результат.

Спойлеры к решению
Подсказки
💡 Используй алгоритм пузырьковой сортировки (Bubble Sort).
💡 Сравнивай соседние элементы и меняй местами, если они стоят не в том порядке.
💡 Повторяй процесс, пока массив не отсортируется.
💡 Сложность такого алгоритма — 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() — это ручная реализация.
✅ Это пузырьковая сортировка, простая в реализации.
✅ Подходит для обучения и простых задач, но неэффективна для больших массивов.
✅ Можно улучшить, добавив флаг для выхода при уже отсортированном массиве.