From 2c76f266fa4aad930a88a83eef151e535ab3fa37 Mon Sep 17 00:00:00 2001 From: Suradid Chao Date: Sat, 30 Oct 2021 23:53:03 +0700 Subject: [PATCH] add insertion sort and bubble sort in golang --- golang/bubble_sort.go | 25 +++++++++++++++++++++++++ golang/insertion_sort.go | 24 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 golang/bubble_sort.go create mode 100644 golang/insertion_sort.go diff --git a/golang/bubble_sort.go b/golang/bubble_sort.go new file mode 100644 index 0000000..0ef3bd8 --- /dev/null +++ b/golang/bubble_sort.go @@ -0,0 +1,25 @@ +package main + +import "fmt" + +func bubbleSort(arr []int) []int { + for range arr { + for j, _ := range arr { + if j >= len(arr) - 1 { + break + } + if arr[j] > arr[j+1] { + arr[j+1], arr[j] = arr[j], arr[j+1] + } + } + } + + return arr +} + +func main() { + usArr := []int{5, 2, 6, 3, 1, 4} + fmt.Println("Before sort: ", usArr) + sArr := bubbleSort(usArr) + fmt.Println("After sort: ", sArr) +} \ No newline at end of file diff --git a/golang/insertion_sort.go b/golang/insertion_sort.go new file mode 100644 index 0000000..ec031ad --- /dev/null +++ b/golang/insertion_sort.go @@ -0,0 +1,24 @@ +package main + +import "fmt" + +func insertionSort(arr []int) []int { + sortedArr := arr + for i:=1;i=0 && sortedArr[j]>key { + sortedArr[j+1] = sortedArr[j] + j -= 1 + } + sortedArr[j+1] = key + } + return sortedArr +} + +func main() { + usArr := []int{5, 2, 6, 3, 1, 4} + fmt.Println("Before sort: ", usArr) + sArr := insertionSort(usArr) + fmt.Println("After sort: ", sArr) +}