This is a creation in Article, where the information may have evolved or changed.
In learning Golang language, the document is really boring, think of the common algorithm to do a realization, writing to learn, want to effect or good!
1. Heap Sequencing
package Mainimport "FMT" func buildheap (array []int, length int) {var I, j int;for i = 1; i < length; i = i + 1 {for j = i; J &G T 0 && Array[j] > array[(j-1)/2]; j = (j-1)/2 {array[j], array[(j-1)/2] = array[(j-1)/2], Array[j]}}}func heapsort (array []int, length int) {array[0], ARRAY[LENGTH-1] = array[length-1], array[0]if length <= 2 {return}i, j:= 0, 0for {j = 2 * i + 1if j + 1 < Lengt h-1 {if array[j] < Array[j + 1] {j = j + 1}} else if J >= length-1 {break}array[i], array[j] = Array[j], array[i] i = J}heapsort (array, length-1)}func main () {primes: = [6]int{3, one, 5, 2, 7}fmt. Println ("orginal", primes) Buildheap (primes[:], Len (primes)) fmt. Println ("Max heap", primes) Heapsort (primes[:], Len (primes)) fmt. Println ("After sorting", primes)}