반응형
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 |
---|