Go 언어 선택 정렬 구현하기
오늘은 Go 언어로 선택 정렬을 구현해보려 합니다.
package main
import (
"fmt"
)
정렬된 배열을 출력하기 위해 fmt 패키지를 가져옵니다.
func selection(arr []int) {
for i := 0; i < len(arr)-1; i++ {
m := i
for j := i + 1; j < len(arr); j++ {
if arr[j] < arr[m] {
m = j
}
}
우선 배열의 처음 자리를 선택하고, 다음으로 for문을 한번 더 해서 배열에서 작은 수를 찾습니다.
arr[m], arr[i] = arr[i], arr[m]
}
}
첫번째로 선택한 i번째와 다시 for문으로 반복해서 찾은 가장 작은 수 m번째를 바꿔줍니다.
이를 첫 for문으로 인해 반복하다가 i번째가 마지막에 다다르면 정렬은 종료됩니다.
func main() {
arr := []int{7,5,3,9,6,4}
fmt.Println(arr)
selection(arr)
fmt.Println(arr)
}
main 함수에서는 위와 같이 작성해주면 됩니다.
Written on November 9, 2018