Bom dia, estou estudando estrutura de dados, e me deparei com solection sort, vi que nele pode usar o menor index para comparar igual o código abaixo, porém vi que da para ser feito usando o index maior, tipo de trás para frente, alguém poderia me explicar como se faz??(não achei nenhum exemplo), Obrigado desde já.
public class teste2 {
public static void main(String[] args) {
System.out.println("--SelectionSort--");
System.out.println();
int[] arr1 = { 9, 14, 3, 2, 43, 11, 58, 22 };
System.out.println("Before Selection Sort");
for (int i : arr1) {
System.out.print(i + " ");
}
System.out.println();
System.out.println();
selectionSort(arr1);// sorting array using selection sort
System.out.println("After Selection Sort");
for (int i : arr1) {
System.out.print(i + " ");
}
}
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int index = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[index]) {
index = j;// searching for lowest index
}
}
int smallerNumber = arr[index];
arr[index] = arr[i];
arr[i] = smallerNumber;
}
}
}