/ 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  }