Как вернуться в начало цикла java
Ответы
Сергей Якимович
28 января 2023
Вернуться в начало цикла можно, самостоятельно поменяв значение счетчика цикла.
Необходимо быть внимательным и четко прописать условия выхода из цикла, чтобы не попасть в бесконечный цикл.
Ниже приведен метод пузырьковой сортировки в рамках одного цикла с изменением счетчика для возврата в начало цикла :
import java.util.Arrays;
public class App {
public static void main(String[] args) {
int[] arr = {5, 2, 4, 1, 3};
bubbleSort(arr);
System.out.println(Arrays.toString(arr)); // => [1, 2, 3, 4, 5]
}
public static void bubbleSort(int[] arr) {
boolean wasSwap = false;
for(int i = 0; i < arr.length - 1; i++) {
if(arr[i] > arr[i + 1]) { // меняем местами элементы
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
wasSwap = true;
}
if(i == arr.length - 2) { // если дошли до конца массива
if(wasSwap) { // и были изменения данных
i = -1; // то меняем счетчик для возврата в начало цикла
wasSwap = false;
} else { // если изменений не было
return; // то сортировка закончена
}
}
}
}
}
1
0