선택 정렬(Selection Sort)
정렬하는 방식 중 하나이다. 주어진 데이터값을 모두 비교해 최솟값의 위치를 기억해뒀다가 그 값을 앞으로 교환한다. 데이터 전체에서 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환하는 방식으로 특정 배열의 값을 정리한다.
예시 코드
for (int i = 0; i < num.length - 1; i++){
for (int j = i + 1; j < num.length; j++){
if (num[i] > num[j]){
int temp = num[j];
num[j] = num[i];
num[i] = temp;
}
}
}
결국, 해당 배열에서 지속적으로 i와 j를 비교해 숫자가 더 큰 것을 뒤로 보내는 방법이다.
중요한 것은 temp와 같은 임시 int 값을 만들어 숫자를 임시적으로 담아주어야 두 개의 숫자를 온전히 바꿀 수 있다는 것이다.
모든 인자를 다 비교하기 때문에 시간이 오래 걸려 효율성이 좋다고 보기는 어렵지만 간단하면서도 쉬운 방식이라 알고리즘에서 많이 사용된다.
참고
'알고리즘' 카테고리의 다른 글
[JAVA] String, char 의 경우 대문자와 소문자로 변경하는 메서드 (0) | 2022.05.05 |
---|---|
[UIView setImage:]: unrecognized selector sent to instance 0x13a90e7c0 오류 해결 (0) | 2022.04.10 |
알고리즘공부 어떻게 하는가 (0) | 2022.03.13 |