Shembull: Bubble Sort
1 package main
2
3 import (
4 "fmt"
5 )
6
7 var list = []int{1, 900, 2, 4, 8, 6, 3, 2, 4, 8, 6, 7, 3, 0, -300}
8
9 func bubbleSort(input []int) []int {
10 n := len(input)
11 swapped := true
12 for swapped {
13 swapped = false
14 for i := 1; i < n; i++ {
15 if input[i-1] > input[i] {
16 input[i], input[i-1] = input[i-1], input[i]
17 swapped = true
18 }
19 }
20
21 n--
22 }
23
24 return input
25 }
26
27 func main() {
28 fmt.Println("Lista origjinale:")
29 fmt.Println(list)
30 fmt.Println("Lista e sortuar:")
31 fmt.Println(bubbleSort(list))
32 }
https://play.golang.org/p/T_igbGHGwL4
Rezultati:
Lista origjinale:
[1 900 2 4 8 6 3 2 4 8 6 7 3 0 -300]
Lista e sortuar:
[-300 0 1 2 2 3 3 4 4 6 6 7 8 8 900]