티스토리 뷰

Algorithm

선택 정렬

할루루 2018. 3. 1. 15:12
1
2
3
4
5
6
7
8
9
10
11
12
13
func selectionSort(array: inout [Int]){
    for i in stride(from: array.count - 1, through: 1, by: -1){
        var maxIndex = i
        for j in 0 ..< i {
            if(array[maxIndex] <= array[j]) {
                maxIndex = j
            }
        }
        let temp = array[maxIndex]
        array[maxIndex] = array[i]
        array[i] = temp
    }
}
cs



정렬할 배열의 맨 마지막 요소부터 시작하여 그를 제외한 나머지 요소와 값을 비교하여 정렬한다.


맨 앞의 요소는 비교할 필요가 없는데, 그 전까지 수행하면 정렬될 것이 명확하기 때문이다.

'Algorithm' 카테고리의 다른 글

합병 정렬 (C)  (0) 2018.04.10
힙 정렬  (0) 2018.03.01
합병 정렬  (0) 2018.03.01
삽입 정렬  (0) 2018.03.01
버블 정렬  (0) 2018.03.01
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
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
글 보관함