Golang의 대체 정렬
문제
정수 배열이 주어지면 첫 번째 요소가 첫 번째 최대 숫자이고 두 번째 요소가 첫 번째 최소 숫자가 되는 식으로 배열을 인쇄합니다.
예
Input : arr[] = {6, 3, 1, 2, 4, 5, 7}
Output : 7 1 6 2 5 3 4
Input : arr[] = {1, 6, 9, 4, 3, 7, 8, 2}
Output : 9 1 8 2 7 3 6 4
필요한 순서대로 숫자를 인쇄할 수 있는 두 가지 방법이 있습니다.
그래서 우리는 이것에서 효율적인 솔루션을 구현할 것입니다.
접근하다
/*
Alternative sorting problem
EXAMPLE
Input : arr[] = {6, 3, 1, 2, 4, 5, 7}
Output : 7 1 6 2 5 3 4
Input : arr[] = {1, 6, 9, 4, 3, 7, 8, 2}
Output : 9 1 8 2 7 3 6 4
*/
package main
import (
"fmt"
"sort"
)
func alternativeSorting(arr []int) {
sort.Ints(arr)
fmt.Println("Sorted Array",arr)
left := 0
right := len(arr)-1
for left < right {
fmt.Printf("%d %d ",arr[right],arr[left])
left++
right--
}
if len(arr) % 2 != 0 {
fmt.Printf("%d ",arr[left])
}
}
func main() {
arr := []int{12, 1, 6, 4, 7, 10}
fmt.Println("Before",arr)
alternativeSorting(arr)
fmt.Println()
}
산출:
Before [1 12 4 6 7 10]
Sorted Array [1 4 6 7 10 12]
12 1 10 4 7 6
이러한 유형의 콘텐츠를 보려면 my personal blog을 방문하십시오.
읽어 주셔서 감사합니다
Reference
이 문제에 관하여(Golang의 대체 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mavensingh/alternative-sorting-in-golang-50be텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)