English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Java

Java управление потоком

Java массив

Java面向对象(I)

Java面向对象(II)

Java面向对象(III)

Обработка исключений в Java

Java список (List)

Java Queue (очередь)

Java Map коллекции

Java Set коллекции

Java Ввод/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Реализация алгоритма пузырьковой сортировки в Java

Java полная коллекция примеров

В этом примере мы изучим выполнение алгоритма пузырьковой сортировки на Java.

Прежде чем изучать алгоритм пузырьковой сортировки на Java, убедитесь, что вы понимаете принцип работы алгоритма пузырьковой сортировки.

Пример: Реализация алгоритма пузырьковой сортировки на Java

// Импорт классов
import java.util.Arrays;
import java.util.Scanner;
class Main {
    // Создание объекта scanner.
    // Принимает ввод пользователя
  Scanner input = new Scanner(System.in);
  // Метод выполнения排序а с помощью метода bubbleSort
  void bubbleSort(int array[]) {
    int size = array.length;
    // Используется для сортировки по возрастанию или убыванию
    System.out.println("Выберите порядок сортировки:");
    System.out.println("1 означает возрастание\n2 означает убывание");
    int sortOrder = input.nextInt();
    // Запуск цикла дважды
    // Первый цикл посещает каждый элемент массива
    for (int i = 0; i < size - 1; i++)
      // Второй цикл выполняет сравнение в каждом итерации
      for (int j = 0; j < size - i - 1; j++)
        // Сортировка массива по возрастанию
        if (sortOrder == 1) {
          // Сравнение смежных элементов
          if (array[j] > array[j + 1]) {
            // Если левый элемент больше правого, то обмен
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
          }
        }
        // Сортировка массива по убыванию
        else {
          // Сравнение смежных элементов
          if (array[j] < array[j + 1]) {
            // Если левый элемент меньше правого, то обмен
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
          }
        }
  }
  // Метод main
  public static void main(String args[]) {
    // Создание массива
    int[] data = {-2, 45, 0, 11, -9};
    //Создать объект класса Main
    Main bs = new Main();
    //Использовать объект bs для вызова метода bubbleSort
    //Передать массив в качестве параметра метода
    bs.bubbleSort(data);
    System.out.println("Сортированный массив в порядке возрастания:");
    //Вызвать метод toString() класса Arrays
    //Преобразовать данные в строку
    System.out.println(Arrays.toString(data));
  }
}

Вывод 1

Выберите порядок сортировки:
1 символизирует возрастание 
2 символизирует убывание
1
Сортированный массив:
[-9, -2, 0, 11, 45]

В этом случае мы вводим 1. Поэтому программа сортирует массив в порядке возрастания.

Вывод 2

Выберите порядок сортировки:
1 символизирует возрастание 
2 символизирует убывание
2
Сортированный массив:
[45, 11, 0, -2, -9]

В этом случае мы вводим 2 . Поэтому программа сортирует массив в порядке убывания.

Внимание: мы уже использовалиJava класс сканераПолучить ввод от пользователя.

Java полная коллекция примеров