/ printnbrinorder.go
printnbrinorder.go
1 package piscine 2 3 import "github.com/01-edu/z01" 4 5 func PrintNbrInOrder(n int) { 6 if n < 0 { 7 return 8 } 9 if n == 0 { 10 z01.PrintRune('0') 11 return 12 } 13 for _, v := range bubbleSort(intToDigits(n)) { 14 z01.PrintRune(rune(v + '0')) 15 } 16 } 17 18 func intToDigits(n int) []int { 19 var digits []int 20 for n > 0 { 21 digits = append(digits, n%10) 22 n /= 10 23 } 24 return digits 25 } 26 27 func bubbleSort(arr []int) []int { 28 for i := 0; i < len(arr); i++ { 29 for j := 0; j < len(arr)-1; j++ { 30 if arr[j] > arr[j+1] { 31 arr[j], arr[j+1] = arr[j+1], arr[j] 32 } 33 } 34 } 35 return arr 36 }