Ajuda método Selection sort

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;
	}
}

}