selection sort

explanation

find minimum element, swap it? check 08722 lecture
0 8 7 2 3
0 8 7 2 3
0 2 7 9 3
0 2 3 9 7
0 2 3 7 9
time complexity: O(n^2)

space complexity: O(1)

code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public void (int[] arr) {
if (arr == null || arr.length <= 1) {
return;
}

for (int i = 0; i < arr.length; i++) {
int minIndex = i;
for (int j = i; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}

swap(i, minIndex, arr);
}


}

private void swap(int i, int j, int[] arr) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}