Напишем код для сортировки пузырьком. Затем, зададим массив данных, выведем его и отсортируем.
class ArrayBubble{
private long[] a; //ссылка на массив
private int elems; //количество элементов в массиве
public ArrayBubble(int max){ //конструктор класса
a = new long[max]; //создание массива размером max
elems = 0; //при создании массив содержит 0 элементов
}
public void into(long value){ //метод вставки элемента в массив
a[elems] = value; //вставка value в массив a
elems++; //размер массива увеличивается
}
public void printer(){ //метод вывода массива в консоль
for (int i = 0; i < elems; i++){ //для каждого элемента в массиве
System.out.print(a[i] + " "); //вывести в консоль
System.out.println(""); //с новой строки
}
System.out.println("----Окончание вывода массива----");
}
private void toSwap(int first, int second){ //метод меняет местами пару чисел массива
long dummy = a[first]; //во временную переменную помещаем первый элемент
a[first] = a[second]; //на место первого ставим второй элемент
a[second] = dummy; //вместо второго элемента пишем первый из временной памяти
}
public void bubbleSorter(){ //МЕТОД ПУЗЫРЬКОВОЙ СОРТИРОВКИ
for (int out = elems - 1; out >= 1; out--){ //Внешний цикл
for (int in = 0; in < out; in++){ //Внутренний цикл
if(a[in] > a[in + 1]) //Если порядок элементов нарушен
toSwap(in, in + 1); //вызвать метод, меняющий местами
}
}
}
}
public class Main {
public static void main(String[] args) {
ArrayBubble array = new ArrayBubble(5); //Создаем массив array на 5 элементов
array.into(163); //заполняем массив
array.into(300);
array.into(184);
array.into(191);
array.into(174);
array.printer(); //выводим элементы до сортировки
array.bubbleSorter(); //ИСПОЛЬЗУЕМ ПУЗЫРЬКОВУЮ СОРТИРОВКУ
array.printer(); //снова выводим отсортированный йсписок
}
}
Вывод:
163
300
184
191
174
----Окончание вывода массива----
163
174
184
191
300
----Окончание вывода массива----
Вывод верный

