Golang语言常用算法
在学习golang语言,文档看的实在是乏味,就想着把常用的算法做个实现,边写变学习,想来效果还是不错的!
1. 堆排序
<pre><code class="language-plain">package main import "fmt" func buildHeap(array []int, length int) { var i, j int; for i = 1; i < length; i = i 1 { for j = i; j > 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, 0 for { j = 2 * i 1 if j 1 < length - 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, 11, 5, 2, 13, 7} fmt.Println("orginal", primes) buildHeap(primes[:], len(primes)) fmt.Println("Max heap", primes) heapSort(primes[:], len(primes)) fmt.Println("after sorting", primes) } </code></pre>2. 输出fibanocci列数
<pre><code class="language-html">package main
import "fmt"
// fibonacci is a function that returns
// a function that returns an int.
func fibonacci() func() int {
first, second := 0, 1
var out int
return func() int {
out, first = first, second
second = out first
return out
}
}
func main() {
f := fibonacci()
for i := 0; i < 10; i {
fmt.Println(f())
}
}
</code></pre>
3.
到此这篇关于“Golang语言常用算法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
想系统学习GO语言(Golang
关于Golang的介绍
初识 Go 语言
Golang学习笔记(五):Go语言与C语言的区别
Golang笔记:语法,并发思想,web开发,Go微服务相关
08-GoLang运算符
php是编程语言吗?
数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
计算机基础:3、计算机层次与编程语言
golang url 收集