Bubble Sort:
Package Mainimport ("FMT")//1, 4, 5, ten//1, 4, A, 5, ten//1, 4, 5, A, ten//1, 4, 5, ten,//Bubble SortFunc Bubble_sort (A []int) { forI: = Len (a)-1; i >0; i-- { forJ: =0; J < I; J + + { ifA[J] > a[j+1] {a[j], a[j+1] = a[j+1], A[j]}}}}func main () {a:= []int{ -,1,4,5,Ten} bubble_sort (a) fmt. Println (a)}
Select Sort:
Package Mainimport ("FMT")//1, 4, 5, ten//1, 4, 5, ten//1, 4, A, 5, ten//Select SortFunc Select_sort (A []int) { forI: =0; I < Len (a)-1; i++ { forJ: = i+1; J < Len (a); J + + { ifA[J] <A[i] {a[j], A[i]=A[i], A[j]}} }}func Main () {a:= []int{ -,1,4,5,Ten} select_sort (a) fmt. Println (a)}
Insert Sort:
Package Mainimport ("FMT")//1, 4, 5, ten// -//1,//1, 4 , A,//1, 4, 5, A,//1, 4, 5, ten,//Insert SortFunc Insert_sort (A []int) { forI: =1; I < Len (a); i++ { forJ: = i;j >0; j-- { ifA[J] < a[j-1] {a[j], a[j-1] = a[j-1], A[j]}Else { Break}}}}func main () {a:= []int{ -,1,4,5,Ten} insert_sort (a) fmt. Println (a)}
Quick sort:
Package Mainimport ("FMT")//4, 5, ten ,//4, 5, ten ,//4, 5, ten ,//4, 5, ten ,//Ten, 4, 5, Max,//5, 4, ten,//4, 5, ten,Func partion (A []int, left, rightint)int { vari = Leftvarj = Right forI <J { forJ > I && a[j] >A[left] {j--} A[j], A[left]=A[left], A[j] forI < J && A[i] <A[left] {i++} A[left], A[i]=A[i], A[left] FMT. Println (i)}returnI}func Qsort (a []int, left, rightint) { ifLeft >=Right {return} Mid:=partion (A, left, right) qsort (A, left, mid-1) Qsort (A, Mid+1, right)} Func Main () {a:= []int{ -,1,4,5,Ten} qsort (A,0, Len (a)-1) fmt. Println (a)}
Go algorithm Exercises