티스토리 뷰
선택 정렬(Selection Sort)
이번 시간에는 선택 정렬에 대해서 알아보도록 하겠습니다. 선택정렬은 정렬순서에 맞게 하나씩 선택해서 옮기면서 정렬이 되게 하는 알고리즘 입니다.
어떻게 보면 수열에서 최소값부터 시작해서 값을 하나씩 찾으면서 새로운 수열에 순차적으로 넣어주는 형식이라고 할수 있습니다. 그런데 실제 구현을 하려고 할때 굳이 작은 값들을 순차적으로 새로운 배열에 넣어주는 형식 말고 하나의 배열에서 자리의 교체를 통해서 정렬을 할수 있는 방법이 있습니다.
그림을 보면 아래와 같습니다.
실제 코드는 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public void doSort(int[] numArr){ int min; for(int i = 0; i < numArr.length-1; i++){ min = i; for(int j = i + 1; j < numArr.length; j++){ if(numArr[j] < numArr[min]){ min = j; } } int tmp = numArr[min]; numArr[min] = numArr[i]; numArr[i] = tmp; } } | cs |
참고자료 : 윤성우의 열혈 자료구조
반응형
'프로그래밍 > Algorithm' 카테고리의 다른 글
[프로그래머스] 전화번호 목록 (0) | 2020.03.07 |
---|---|
[알고리즘] 두 단어로의 약어(initials) 구하기 (0) | 2019.11.07 |
[알고리즘] Java 자연수의 조합(경우의 수) 구하기 (0) | 2019.11.07 |
(알고리즘) 자연수 범위중 팰린드롬(palindrome)개수 구하기 (0) | 2019.11.07 |
[Algorithm] 삽입 정렬 (0) | 2016.11.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- java
- effective java
- Java UI
- 스프링부트
- 일본여행
- intelij
- windows
- 일본 여행
- 이펙티브
- 자전거 여행
- 일본 자전거 여행
- 텐트
- springboot
- 방통대 과제물
- 배낭 여행
- TableView
- git
- 이펙티브자바
- 인텔리제이
- JavaFX Window Close
- JavaFX Table View
- effectivejava
- 배낭여행
- JavaFX 테이블뷰
- 자전거
- 일본 배낭여행
- JavaFX
- JavaFX 종료
- 자바
- 이펙티브 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함