Selection
- 맨 앞index를 선택한 후 나머지 index랑 값을 비교해서 정렬
- 교환 횟수는 가장 적고, 비교도 모두 진행함
- Bubble Sort보다는 성능이 좋다.
Java예시

- public static void Selection(int[] array)
: array 안에서 sort할 것이므로 매개변수로 array를 1개 받는다.
- for(int i = 0; i <array.length-1; i++){ int minimum_index = i; ..., swap(array, i , minimum_index)}
: array에서 index를 하나 선택하고 값이 가장 작은 값을 가진 index를 minimum_index에 저장하고, i를 반복문을 이용해 계속 Array를 탐색하면서 가장 작은 값을 가진 index를 가장 앞으로 이동시킨다.
- for(int j = i+1; j <array.length; j++){...}
: array에서 index를 하나 선택하고 값이 가장 작은 index 찾기 / 앞서 i를 통해, index 중 가장 작은 값을 가진 것을 저장했으므로, j는 i+1 즉, 하나를 뺀 나머지 elements 중에서 가장 작은 값을 가진 index를 찾는다.
- if(array[j] < array[minimum_index]){minimum_index=j;}
: 만약 새로 찾은 값( array[j] )이 아까 찾은 값( array[minimum_index] )보다 작으면, minimum_index에 j를 새롭게 저장
- main함수에서 실행한 결과

C예시
- 추가 예정
'Data Structure > Algorithm' 카테고리의 다른 글
| Sort Algorithm - Merge (0) | 2024.03.30 |
|---|---|
| Sort Algorithm - Shell (0) | 2024.03.29 |
| Sort Algorithm - Insertion (0) | 2024.03.28 |
| Sort Algorithm - Bubble (0) | 2024.03.27 |
| Algorithm - swap() (0) | 2024.03.27 |