-
SelectionSort[선택 정렬] _java알고리즘 구현 2020. 3. 4. 11:32
< Alg동작 원리 >
1. 전체 데이터에서 가장 작은값을 고른다.
2. 그 값을 temp(result) 배열에 저장
2. 해당 값을 삭제한다.
3. temp 배열을 다 채울 때 까지 반복
import java.util.Arrays; public class SelectionSort { public static void main(String[] args) { int[] data = { 58, 8, 28, 3, 18, 6, 33, 20 }; selectionSort(data); System.out.println(Arrays.toString(data)); } public static void selectionSort(int[] data) { int[] result = new int[data.length]; int count = 0; int min = 0; int minValue = Integer.MAX_VALUE; while (count < result.length) { for (int i = 0; i < data.length; i++) { if (data[i] != -1) { if (data[i] < minValue) { min = i; minValue = data[i]; } } } result[count++] = minValue; data[min] = -1; minValue = Integer.MAX_VALUE; } for (int i = 0; i < data.length; i++) { data[i] = result[i]; } } }
'알고리즘 구현' 카테고리의 다른 글
CodeForces #118A String Task [java] (0) 2020.03.18 CodeForces #71A Way Too Long Words [java] (0) 2020.03.18 CodeForces #4A Watermelon [java] (0) 2020.03.18 MergeSort[병합 정렬] _java (0) 2020.03.02 Binary Search[이진탐색] _ java (0) 2020.03.02