Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Сортировка выбором в Java: пошаговый пример и полный код

Что такое сортировка выбором?

Сортировка выбором — это простой алгоритм на основе сравнений, который многократно находит минимальный элемент в неотсортированной части массива и меняет его местами с первым элементом этой части. Хотя она не быстрее других методов для больших данных, её простота делает идеальной для обучения и небольших массивов.

Как работает алгоритм

Реализация на Java

Ниже приведена краткая программа, демонстрирующая сортировку выбором на целочисленном массиве. Код выводит массив до и после сортировки, а также промежуточные шаги для иллюстрации каждого прохода.

package com.guru99;

public class SelectionSortAlgo {
    public static void main(String[] args) {
        int[] myArray = {860, 8, 200, 9};
        System.out.println("------До сортировки выбором-----");
        printArray(myArray);
        selection(myArray); // Сортировка массива
        System.out.println("-----После сортировки выбором-----");
        printArray(myArray);
    }

    public static void selection(int[] array) {
        for (int i = 0; i < array.length - 1; i++) {
            System.out.println("Проход сортировки № " + (i + 1));
            int index = i;
            for (int j = i + 1; j < array.length; j++) {
                System.out.println("Сравнение " + array[index] + " и " + array[j]);
                if (array[j] < array[index]) {
                    System.out.println(array[index] + " больше чем " + array[j]);
                    index = j;
                }
            }
            int smallerNumber = array[index];
            array[index] = array[i];
            array[i] = smallerNumber;
            System.out.println("Обмен элементов: новый массив после обмена");
            printArray(array);
        }
    }

    private static void printArray(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + " ");
        }
        System.out.println();
    }
}

Пример вывода

------До сортировки выбором-----
860 8 200 9
Проход сортировки № 1
Сравнение 860 и 8
860 больше чем 8
Сравнение 8 и 200
Сравнение 8 и 9
Обмен элементов: новый массив после обмена
8 860 200 9
Проход сортировки № 2
Сравнение 860 и 200
860 больше чем 200
Сравнение 200 и 9
200 больше чем 9
Обмен элементов: новый массив после обмена
8 9 200 860
Проход сортировки № 3
Сравнение 200 и 860
Обмен элементов: новый массив после обмена
8 9 200 860
-----После сортировки выбором-----
8 9 200 860

Заметки о производительности

Сортировка выбором выполняет O(n²) сравнений независимо от входных данных и использует не более O(1) дополнительной памяти. Её детерминированное поведение делает её подходящей для сред с ограниченной памятью.

java

  1. Массивы в Java: объявление, инициализация и манипуляции
  2. Java Hello World: пошаговое руководство по написанию первой программы
  3. Инкапсуляция в Java: подробное руководство с практическим примером
  4. Метод String.length() в Java: как получить длину строки (пример)
  5. Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
  6. Метод String.contains() в Java: как проверить наличие подстроки — примеры
  7. Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
  8. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
  9. Мастерство пузырьковой сортировки в Java: четкий пример и пошаговый разбор
  10. Алгоритм сортировки вставками в Java: понятный пример и пошаговое руководство