package main
import
("fmt"
"math"
)//冒泡
func
bubblesort
(a [
]int)[
]int
}if f ==
true}}
return a
}//選擇排序
func
selectionsort
(a [
]int)[
]int
} a[i]
,min=min,a[i]
}return a
}//插入排序
func
insertionsort
(a [
]int)[
]int
a[pre+1]
=cre
}return a
}//快速
func
quicksort
(a [
]int
,low,high int)[
]int
start :=a[low]
i := low
for j:=low+
1;j<=high;j++}}
a[i]
,a[low]
=a[low]
,a[i]
quicksort
(a ,low,i-1)
quicksort
(a ,i+
1,high)
return a
}//希爾排序
func
shellsort
(a [
]int)[
]int
a[j+gap]
= temp
}//重新設定間隔
gap = gap /3}
return a
}//歸併排序
func
mergesort
(a [
]int)[
]int
middle := length /
2 left := a[
0:middle]
right := a[middle:
]return
merge
(mergesort
(left)
,mergesort
(right))}
//歸併
func
merge
(left [
]int
, right [
]int)[
]int
else
}for
len(left)!=0
forlen
(right)!=0
return result
}//堆排序
func
heapsort
(a [
]int)[
]int
return a
}//建立大根堆
func
buildmaxheap
(a [
]int
, arrlen int)}
func
heapify
(a [
]int
, i, arrlen int
)if right < arrlen && a[right]
> a[largest]
if largest != i
}//計數排序
func
countingsort
(a [
]int)[
]int
for j :=
0; j < bucketlen; j++
}return a
}//桶排序
func
sort
(a [
]int)[
]int
//桶內排序
tmppos :=
0for i :=
0; i < num; i++
}return a
}//基數排序
func
radixsort
(a [
]int)[
]int
//給桶中對應的位置放資料
for i :=
0; i < count; i++
}//給桶賦值
for k :=
0; k <
len(a)
; k++
else}}
var x =0;
//出桶
for p :=
0; p <
len(bucket)
; p++
else}}
}return a
}//************************公共函式
//獲取最大值
func
getmaxinarr
(a [
]int
)int
}return max
}//交換
func
swap
(a [
]int
, i, j int
)func
main()
//冒泡
fmt.
println
(bubblesort
(a))
//快速
fmt.
println
(quicksort
(a,0
,b-1))
//選擇
fmt.
println
(selectionsort
(a))
//插入排序
fmt.
println
(insertionsort
(a))
//希爾排序
fmt.
println
(shellsort
(a))
//歸併排序
fmt.
println
(mergesort
(a))
//堆排序
fmt.
println
(heapsort
(a))
//計數排序
fmt.
println
(countingsort
(a))
//桶排序
fmt.
println
(countingsort
(a))
//基數排序
fmt.
println
(radixsort
(a))
}
C語言十大經典例題
1 輸出9 9口訣。共9行9列,i控制行,j控制列。include int main if leap 內迴圈結束後,leap依然為1,則m是素數 for i 2 i 5 i for j 1 j i 1 j a i j a i 1 j a i 1 j 1 for i 0 i 5 i return 0 ...
十大經典排序
每一次比較完就要立即交換 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。比較完所有...
佛家十大經典
佛家十大經典 經典一 一切皆為虛幻。經典二 不可說。有些話是不能說出來的。一旦失口,往往一絲脆弱的牽伴都會斷掉,縱然痛惜也 經典三 色即是空,空即是色。經典四 人生在世如身處荊棘之中,心不動,人不妄動,不動則不傷 如心動則人妄動,傷其身痛其骨,於是體會到世間諸般痛苦。經典五 一花一世界,一佛一如來。...