使用golang實現了以下排序演算法:
package main
import
("fmt"
"math/rand"
"sort"
"time"
)const
( num =
10000
// 測試陣列的長度
rangenum =
100000
// 陣列元素大小範圍
)func
main()
//生成隨機數組
func
generaterand()
intreturn arr
}//比較兩個切片
func
issame
(slice1, slice2 [
]int
)bool
if(slice1 ==
nil)
!=(slice2 ==
nil)
for i, num :=
range slice1
}return
true
}
func
bubble
(arr [
]int)}
true
}}
func
selectsort
(arr [
]int)}
}}
func
insertsort
(arr [
]int)}
}}
func
quicksort
(arr [
]int
, l, r int)}
i++arr[r]
, arr[i]
= arr[i]
, arr[r]
quicksort
(arr, l, i-1)
quicksort
(arr, i+
1, r)
}}
//合併
func
merge
(arr [
]int
, l, mid, r int
)else
}for
; i < n1; i++
for; j < n2; j++
}//分治
func
mergesort
(arr [
]int
, l, r int
)}
以大頂堆實現
//堆調整
func
adjust_heap
(arr [
]int
, i, size int
)if r < size && arr[r]
> arr[m]
if m != i }}
//建堆
func
build_heap
(arr [
]int)}
func
heapsort
(arr [
]int
)}
github: golangbasicsortalgorithm/sortalgorithm.go
有幫助感謝給star
有錯誤歡迎指正.
六大排序粗解
public class paixu system.out.println 排序後 a bubble a a select a a insert a a shell a,a.length guibing a,0,a.length 1 fast a,0,a.length 1 for int i 0 i...
常見六大排序演算法詳解以及比較
氣泡排序 英語 bubble sort 是一種簡單的排序演算法。它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算...
六大排序(選擇,插入,冒泡,希爾,快排,堆排序)
1.實現簡單選擇排序 直接插入排序和氣泡排序。2.實現希爾排序演算法。3.實現快速排序演算法。4.實現堆排序演算法。想想這麼多排序方法,乍一看挺複雜,寫起來還挺簡單的 include include include include include include include includeusi...