Как сделать чтобы массив, введенный в main, сортировался в bubbleSort?
Делаю первые шаги в Java, изучаю чужой код. С двух разных источников скопировал код. Как сделать чтобы массив, введенный в main, сортировался в bubbleSort?
import java.util.Scanner;
public class Sort180820
{
public static void main(String args[]) {
Scanner input = new Scanner(System.in); // Объявляем Scanner
System.out.println("Enter array length: ");
int size = input.nextInt(); // Читаем с клавиатуры размер массива и записываем в size
int array[] = new int[size]; // Создаём массив int размером в size
System.out.println("Insert array elements:");
/*Пройдёмся по всему массиву, заполняя его*/
for (int i = 0; i < size; i++) {
array[i] = input.nextInt(); // Заполняем массив элементами, введёнными с клавиатуры
}
System.out.print ("Inserted array elements:");
for (int i = 0; i < size; i++) {
System.out.print (" " + array[i]); // Выводим на экран, полученный массив
}
System.out.println();
}
public static void bubbleSort(int[] array) {
boolean sorted = false;
int temp;
while(!sorted) {
sorted = true;
for(int i = 0; i < array.length -1; i++) {
if (array[i] > array[i+1]) {
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
sorted = false;
}
}
}
}
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Начнем с того что во время изучения не мешайте источники в одном задании. Не то у вас будет получаться Франкенштейн из за не понимания кодов.
Ответ на ваш вопрос.
Добавьте после
System.out.println();
Следующий код
bubbleSort( array);
System.out.print ("Sorted array elements:");
for (int i = 0; i < size; i++) {
System.out.print (" " + array[i]); // Выводим на экран, полученный массив
}
Автор решения: AlekseiGaile
→ Ссылка
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // Объявляем Scanner
System.out.println("Enter array length: ");
int size = input.nextInt(); // Читаем с клавиатуры размер массива и записываем в size
int[] array = new int[size]; // Создаём массив int размером в size
System.out.println("Insert array elements:");
/*Пройдёмся по всему массиву, заполняя его*/
for (int i = 0; i < size; i++) {
array[i] = input.nextInt(); // Заполняем массив элементами, введёнными с клавиатуры
}
System.out.print("Inserted array elements:");
for (int i = 0; i < size; i++) {
System.out.print(" " + array[i]); // Выводим на экран, полученный массив
}
System.out.println(Arrays.toString(bubbleSort(array)));
}
public static int[] bubbleSort(int[] array) {
boolean sorted = false;
int temp;
while (!sorted) {
sorted = true;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
sorted = false;
}
}
}
return array;
}