선택 정렬은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다.
1. 주어진 리스트 중에서 최소값을 찾는다
2. 그 값을 맨 앞에 위치한 갑소가 교체한다.
3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다.
import java.util.Arrays;
public class ALGO001_SELECTIONSORT {
public static void main(String[] args) {
int[] arr = {9,8,7,6,5,4,3,2,1,0};
//최솟값 기준 선택 정렬
for(int i = 0 ; i < arr.length ; i++) {
int min = 0;
for(int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]) {
// i번째보다 작은 j번째를 찾으면
// 두 위치를 교체한다.
min = arr[j];
arr[j] = arr[i];
arr[i] = min;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
출력
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'알고리즘&자료구조 > JAVA' 카테고리의 다른 글
퀵 정렬(Quick Sort)(java) (0) | 2019.05.03 |
---|---|
거품 정렬(Bubble Sort) (java) (0) | 2019.05.03 |
버블 정렬(Bubble Sort) (java) (0) | 2019.05.03 |
댓글