예제 #1
0
func main() {
	arr := utils.RandArray(10)
	fmt.Println("Unsorted Array", arr)
	fmt.Println()

	tmp := 0
	gap := len(arr)

	for {
		if gap > 1 {
			gap = gap * 100 / 124
		}

		for i := 0; ; {
			if arr[i] < arr[i+gap] {
				tmp = arr[i]
				arr[i] = arr[i+gap]
				arr[i+gap] = tmp
			}

			i++
			if i+gap >= len(arr) {
				break
			}
		}

		if gap == 1 {
			break
		}
	}

	fmt.Println("Sorted Array", arr)
}
예제 #2
0
func main() {
	arr := utils.RandArray(10)
	fmt.Println("Initial array is:", arr)
	fmt.Println("")
	tmp := 0
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr)-1; j++ {
			if arr[j] < arr[j+1] {
				tmp = arr[j]
				arr[j] = arr[j+1]
				arr[j+1] = tmp

			}

		}
	}
	fmt.Println("Sorted array is: ", arr)

}