How to implement the bubble sort algorithm in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func bubblesort(slice []int) {
    var (
        n = len(slice)
        sorted = false
    )
    for !sorted {
        swap := false
        for i := 0; i < n-1; i++ {
            if slice[i] > slice[i+1] {
                slice[i+1], slice[i] = slice[i], slice[i+1]
                swap = true
            }
        }
        if !swap {
            sorted = true
        }
        n = n - 1
    }
}
  
func main() {
    slice := []int{5, 6, 3, 45, 99, 80, 7, 9} 
	
	fmt.Println(slice)
	
	bubblesort(slice);
    
	fmt.Println(slice)
}
 
 
 
/*
run:
 
[5 6 3 45 99 80 7 9]
[3 5 6 7 9 45 80 99]
 
*/

 



answered Aug 11, 2020 by avibootz

Related questions

1 answer 133 views
1 answer 96 views
1 answer 101 views
1 answer 114 views
1 answer 113 views
1 answer 158 views
1 answer 240 views
...