parent
aa919129f2
commit
89b7afb0cf
|
@ -47,3 +47,5 @@
|
|||
### Golang
|
||||
1. [Insertion Sort](go/insertion-sort.go)
|
||||
2. [Quick Sort](go/quick-sort.go)
|
||||
3. [Bubble Sort](go/bubble-sort.go)
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
Bubble sort is a recursive algorithm based on swapping 2 values closest to each other: k and k+1
|
||||
We start by checking the first two values of the array, and we swap them if the first value is bigger than the second one.
|
||||
Then we recursively swap the second value with the third, if needed and so on until the array is sorted.
|
||||
Average Time Complexity: O(n^2))
|
||||
*/
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func bubbleSort(sliceInt []int, n int) {
|
||||
for k := 0; k < n-1; k++ {
|
||||
if sliceInt[k] > sliceInt[k+1] {
|
||||
// We swaps the value if sliceInt[k] > sliceInt[k+1]
|
||||
sliceInt[k], sliceInt[k+1] = sliceInt[k+1], sliceInt[k]
|
||||
bubbleSort(sliceInt, n)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
sliceInt := []int{1, 2, -1, 0, 534, -100, 9, 53, 203}
|
||||
bubbleSort(sliceInt, len(sliceInt))
|
||||
fmt.Println(sliceInt)
|
||||
}
|
Loading…
Reference in New Issue