1public void selectionSort(int[] arr) {
2 int n = arr.length;
3
4 for (int i = 0; i < n - 1; i++) {
5 // Find minimum in unsorted portion
6 int minIdx = i;
7
8 for (int j = i + 1; j < n; j++) {
9 if (arr[j] < arr[minIdx]) {
10 minIdx = j;
11 }
12 }
13
14 // Swap minimum with first unsorted element
15 if (minIdx != i) {
16 int temp = arr[i];
17 arr[i] = arr[minIdx];
18 arr[minIdx] = temp;
19 }
20 }
21}