[Algorithm] 선택정렬
선택 정렬
주어진 5개의 배열을 내림차순으로 정렬하려고 한다.
-
1 회전 값 1을 값2 부터 마지막 값까지와 비교하여 가장 작은 값을 첫 번째 위치에 옮겨 놓는다. 총 4번 비교한다.
-
2 회전 값 2를 값3 부터 마지막 자료까지와 비교하여 가장 작은 값을 두 번째 위치에 옮겨 놓는다. 총 3번 비교한다.
-
3 회전 값 3을 값4 부터 마지막 자료까지와 비교하여 가장 작은 값을 세 번째 위치에 옮겨 놓는다. 총 2번 비교한다.
-
4 회전 값 4를 값5와 비교하여 서로 교환한다.
어느 정도는 이미 다 알고 있었지만, 구현을 할때마다 약간씩 헷갈리는 부분도 있고 이렇게 정리를 해 놓으면 나중에 보기도 쉬울 것 같아서 정리.
자바에서 구현한 코드.
1
2
3
4
5
6
7
for (int i = 0; i < count - 1; i++) {
for (int j = i + 1; j < count; j++) {
// if(arr[i] < arr[j]) { //여기서는 내림차순으로 정렬
//swap
// }
}
}
Leave a comment