package main /* Sorting a list of positive int64 values is linear, also in Go! Author: Harald Schilly Based on some bash script I found somewhere on the internetz ... */ import "time" func main() { var vals = []int64 { 55, 1, 9, 0, 31, 11, 90, 11 } var ret = make(chan int64) var done = make(chan bool) // main loop, just a single for loop for _, v := range vals { go func(v int64) { // if it doesn't sort well, increase the 1e5 time.Sleep(1e5 * v) ret <- v } (v) } // output iterates over all results in the ret channel go func() { for i := 0; i < len(vals); i++ { println(<-ret) } done <- true }() <-done }
Friday, July 1, 2011
Sorting is Linear - also in Go!
Wrttien in Go
Subscribe to:
Post Comments (Atom)