// Basic selection sort with sorting direction flag. // Sorts given array passed by reference and sorts it. // Parameter sortDesc: (true = descending / false = ascending) public static void SelectionSort(int[] arNumbers, boolean sortDesc) { for (int i = 0; i < arNumbers.length - 1; i++) { int index = i; for (int j = i + 1; j < arNumbers.length; j++) { if (sortDesc) { if (arNumbers[j] > arNumbers[index]) { index = j; } } else { if (arNumbers[j] < arNumbers[index]) { index = j; } } } // If current iteration index is different than // the minimum index found, swap them. if (index != i) { int temp = arNumbers[i]; arNumbers[i] = arNumbers[index]; arNumbers[index] = temp; } } }
Posted: March 20, 2023
Return to the snippets listing