Skip to content

Commit

Permalink
Merge pull request #166 from ashishkrishan1995/master
Browse files Browse the repository at this point in the history
selection sort in golang
  • Loading branch information
i-vishi authored Oct 6, 2018
2 parents bf6b515 + 755be61 commit 65fbc4c
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 0 deletions.
40 changes: 40 additions & 0 deletions Sorting/Selection Sort/golang/selectionSort.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Selection Sort in Golang
package main

import (
"fmt"
"math/rand"
"time"
)

func main() {

slice := generateSlice(20)
fmt.Println("\n--- Unsorted --- \n\n", slice)
selectionsort(slice)
fmt.Println("\n--- Sorted ---\n\n", slice, "\n")
}

// Generates a slice of size, size filled with random numbers
func generateSlice(size int) []int {

slice := make([]int, size, size)
rand.Seed(time.Now().UnixNano())
for i := 0; i < size; i++ {
slice[i] = rand.Intn(999) - rand.Intn(999)
}
return slice
}

func selectionsort(items []int) {
var n = len(items)
for i := 0; i < n; i++ {
var minIdx = i
for j := i; j < n; j++ {
if items[j] < items[minIdx] {
minIdx = j
}
}
items[i], items[minIdx] = items[minIdx], items[i]
}
}
32 changes: 32 additions & 0 deletions Sorting/bubbleSort/golang/bubbleSort.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package main

import (
"fmt"
)

var toBeSorted [10]int = [10]int{1,3,2,4,8,6,7,2,3,0}

func bubbleSort(input [10]int) {
// n is the number of items in our list
n := 10
swapped := true
for swapped {
swapped = false
for i := 1; i < n-1; i++ {
if input[i-1] > input[i] {
fmt.Println("Swapping")
// swap values using Go's tuple assignment
input[i], input[i-1] = input[i-1], input[i]
swapped = true
}
}
}
fmt.Println(input)
}


func main() {
fmt.Println("Hello World")
bubbleSort(toBeSorted)

}

0 comments on commit 65fbc4c

Please sign in to comment.