선택 정렬이란?
n번째 인덱스를 기준으로 가장 작은 인덱스를 찾아 기억해두었다가
마지막 인덱스에 도달하면
n번째 인덱스와 가장 작은 인덱스를 Swap하는 방식이다.
속도 : O(n²)
정렬 속도 순 : 삽입정렬 > 선택정렬 > 버블정렬
import java.util.Arrays; public class SelectionSort { public static void main(String[] args) { int[] arr = {9, 4, 1, 7, 3, 2, 1}; int len = arr.length; int min = 0; int temp = 0; for (int i = 0; i < len - 1; i++) { min = i; for (int j = i + 1; j < len; j++) { if (arr[min] > arr[j]) { min = j; } } temp = arr[min]; arr[min] = arr[i]; arr[i] = temp; System.out.println(Arrays.toString(arr) + " - " + (i + 1)); } } } |
'■ 자료구조 * 알고리즘 > Study' 카테고리의 다른 글
[자료구조*알고리즘] Iterator(이터레이터) 사용법 (0) | 2020.05.01 |
---|---|
[자료구조*알고리즘] 10.Java 삽입정렬 (insertion sort) - 처음부터 순서대로 해당하는 곳까지 정렬 (0) | 2020.05.01 |
[자료구조*알고리즘] 8.Java 해쉬맵(HashMap) 사용법 ★★★ (0) | 2020.05.01 |
[자료구조*알고리즘] 7.Java 큐(Queue) 정리 (0) | 2020.05.01 |
[자료구조*알고리즘] 6.Java 스택(Stack) 정리 (0) | 2020.05.01 |