Go排序練習

一、插入排序spa

相似撲克起牌,每起一張牌都按大小將牌放到合適的位置code

package main import "fmt" func insert(a [8]int) [8]int { for i := 1; i < len(a); i++ { for j := i; j > 0; j-- { if a[j] < a[j-1] { a[j], a[j-1] = a[j-1], a[j] } else { break } } } return a } func main() { var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9} j := insert(i) fmt.Println(i) fmt.Println(j) } 輸出: [45 2 5 68 3 43 7 9] [2 3 5 7 9 43 45 68]

 

二、選擇排序blog

選出最小的數字,排在第1位,第二小的,拍在第2位,以此類推排序

package main import "fmt" func choose(a [8]int) [8]int { for i := 0; i < len(a); i++ { for j := i + 1; j < len(a); j++ { if a[j] < a[i] { a[i], a[j] = a[j], a[i] } } } return a } func main(){ var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9} j :=choose(i)
fmt.Println(i)
fmt.Println(j)
}

輸出:
[45 2 5 68 3 43 7 9]
[2 3 5 7 9 43 45 68]

 

三、冒泡排序class

package main import "fmt" func bubble(a [8]int) [8]int { for i := 0; i < len(a); i++ { for j := 0; j < len(a)-i-1; j++ { if a[j] > a[j+1] { a[j], a[j+1] = a[j+1], a[j] } } } return a } func main() { var i [8]int = [8]int{45, 2, 5, 68, 3, 43, 7, 9} j := bubble(i) fmt.Println(i) fmt.Println(j) } 輸出: [45 2 5 68 3 43 7 9] [2 3 5 7 9 43 45 68]
相關文章
相關標籤/搜索