From bc53a37b35adca0e54ea63f26e53584e3603b606 Mon Sep 17 00:00:00 2001 From: Georgy Komarov Date: Sat, 6 Jan 2018 14:29:55 +0300 Subject: [PATCH] Make insertion_sort.go a bit easier --- sorting/insertion_sort.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sorting/insertion_sort.go b/sorting/insertion_sort.go index 8aed567..1a92ac6 100644 --- a/sorting/insertion_sort.go +++ b/sorting/insertion_sort.go @@ -12,18 +12,16 @@ func main() { fmt.Println("Initial array is:", arr) fmt.Println("") - if (len(arr) <= 1) { + if len(arr) <= 1 { fmt.Println("Sorted array is: ", arr) return } - for curr := 1; curr < len(arr); curr++ { - curr_val := arr[curr] - prev := curr - 1 - for ; prev >= 0 && arr[prev] > curr_val; prev-- { - arr[prev + 1] = arr[prev] + var i, j int + for i = 1; i < len(arr); i++ { + for j = i; j > 0 && arr[j] < arr[j-1]; j-- { + arr[j], arr[j-1] = arr[j-1], arr[j] } - arr[prev + 1] = curr_val } fmt.Println("Sorted array is: ", arr)