package main import ( "fmt" ) func maopao(a []int) { for i:= 0;i< len(a); i++ { for j:= 1; j< len(a)-i; j++ { if a[j] < a[j-1] { a[j],a[j-1] = a[j-1],a[j] } } } fmt.Println(a) } func charu(a []int) { for i:= 1; i<len(a); i++{ for j:= i; j>0; j--{ if a[j] > a[j-1] { break } a[j],a[j-1] = a[j-1],a[j] } } fmt.Println(a) } func quick(a []int, left, right int) { if left >= right{ return } val:= a[left] k:= left // 确定val所在的位置 for i:= left+1; i<= right; i++{ if a[i] < val { a[k] = a[i] a[i] = a[k+1] k++ fmt.Println(a) } } a[k] = val quick(a, left,k-1) quick(a, k+1, right) } func maopao2(a []int) { flag:= true vlen:=len(a) for i:= 0;i<vlen-1;i++ { flag = true for j := 0; j<vlen-i-1;j++ { if a[j] >a[j+1]{ a[j],a[j+1] = a[j+1],a[j] flag = false } } if flag{ break } } fmt.Println(a) } func main() { a:= make([]int,10) a = []int{2,5,6,1,8,7,4,3,9,10,7,99,82,64,17} //maopao(a) //maopao2(a) charu(a) //quick(a,0,int(len(a)-1)) }
GoLang 的冒泡快速插入排序
猜你喜欢
转载自blog.csdn.net/zhangyexinaisurui/article/details/80413156
今日推荐
周排行