冒泡排序
func bubbleSort(arr []int) []int {
length := len(arr)
for i :=0;i<length;i++{
for j :=0;j<length-1-i;j++{
if arr[j] >arr[j+1]{
arr[j],arr[j+1] = arr[j+1],arr[j]
}
}
}
return arr
}
快速排序
func QuickSort(arr []int) []int {
if len(arr)<2{
return arr
}
mid := arr[0]
var left,right []int
for i :=1;i<len(arr);i++{
if arr[i]>mid{
right = append(right,arr[i])
}else{
left = append(left,arr[i])
}
}
left = QuickSort(left)
right = QuickSort(right)
left = append(left,mid)
return append(left,right...)
}
选择排序
func SelectSort(arr []int) []int {
for i:=0;i<len(arr)-1;i++{
min :=i
for j :=i+1;j<len(arr);j++{
if arr[min]>arr[j]{
min = j
}
}
arr[i],arr[min] = arr[min],arr[i]
}
return arr
}
插入排序
func InsertSort(arr []int) []int {
for i :=range arr{
preIndex :=i-1
current := arr[i]
for preIndex >=0 && arr[preIndex] >current{
arr[preIndex+1] = arr[preIndex]
preIndex -=1
}
arr[preIndex+1] = current
}
return arr
}
性能测试结果
