Я хотел бы спросить вас, зачем вам печатать 4-ю итерацию? Но, с другой стороны, вы можете реализовать алгоритм сортировки выбора и сосчитать итерации в l oop, когда дело доходит до четырех, вы можете распечатать его и продолжить все l oop до тех пор, пока не будет отсортирован полный набор чисел.
public class SelectionSort {
public SelectionSort() {
}
int [] a={1 ,11 ,25 ,65 ,47 };
public void getSorted(){
for(int i=0;i<a.length-1;i++){
if(i==3) {
for (int o = 0; o < a.length; o++)
System.out.printf("%d ",a[o]);
System.out.println();
}
int min=i;
boolean depend=false;
for(int j=i;j<a.length-1;j++){
if(a[min] > a[j+1]) {
min = j + 1;
depend=true;
}
}
if(depend==true)
this.swap(i,min);
}
System.out.println("Sorted array :");
for(int i=0;i<a.length;i++)
System.out.printf("%d ",a[i]);
}
private void swap(int i, int min){
int temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
В этом конкретном алгоритме сортировки выбора, когда вы хотите напечатать 4-ю итерацию, он печатает массив, когда i==3
возвращает true
. Мы ожидаем, что i
будет 3
на 4-й итерации, потому что мы индексируем массив из 0
.