자유를 위해

해커랭크/알고리즘

선택 정렬 - Golang

Yoo Nee Verse 2019. 12. 3. 09:45
반응형

 

package main

import (
"fmt"
)

//올림 차순
func selectionSortmintomax(array []int) {
    for i := 0; i < len(array)-1; i++ {
        min := i
        for j := i + 1; j < len(array); j++ {
            if array[j] < array[min] {
                min = j
            }
        }
    array[i], array[min] = array[min], array[i]
    }
}

//내림 차순
func selectionSortmaxtomin(array []int) {
    for i := 0; i < len(array)-1; i++ {
        max := i
        for j := i + 1; j < len(array); j++ {
            if array[j] < array[max] {
                max = j
            }
        }
    array[i], array[max] = array[max], array[i]
    }
}

func main() {

    array := []int{5, 8, 4, 1, 7, 2, 3, 6}
    fmt.Println("Unsorted array: ", array)
    selectionSortmintomax(array)
    //selectionSortmaxtomin(array)
    fmt.Println("Sorted array: ", array)
}

sort 패키지를 사용하면 가장 빠르지만 정렬도 봐야하기에 찾아봄 

 

선택정렬이 가장 빠르다고 해서 golang selectsort 찾아보니 올림차순에 대한 구현이 있음

 

 

반응형

'해커랭크 > 알고리즘' 카테고리의 다른 글

Diagonal Difference  (0) 2019.12.06