Documentation
¶
Index ¶
- func ArrangeRight(arr []int, s, e, k int)
- func BubbleSort(arr []int)
- func InsertionSort(arr []int)
- func MergeSort(arr []int, s int, e int)
- func QuickSort(arr []int, left, right int)
- func QuickSort1(a []int, s, e int)
- func SelectSort(arr *[5]int) *[5]int
- func Swap(a []int, i, j int)
- func UpInsertionSort(arr []int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ArrangeRight ¶
ArrangeRight 输出前m大的数. 用分治处理:复杂度 O(n+mlogm), 直接用MergeSort复杂度为O(n*logn). 思路:把前m大的都弄到数组最右边,然后对这最右边m个元素排序,再输出. 关键 :O(n)时间内实现把前m大的都弄到数组最右边.
引入操作 ArrangeRight(k): 把数组(或数组的一部分)前k大的都弄到最右边 如何将前k大的都弄到最右边.
1)设key=a[0], 将key挪到适当位置,使得比key小的元素都在key左边, 比key大的元素都在key右边(线性时间完成)
2) 选择数组的前部或后部再进行 ArrangeRight操作 a == k ,done 表示完成此过程, a > k 对右边a-1个元素再进行ArrangeRight(k), a < k 对左边b个元素再进行ArrangeRight(k-a).
func BubbleSort ¶
func BubbleSort(arr []int)
func InsertionSort ¶
func InsertionSort(arr []int)
func QuickSort1 ¶
func SelectSort ¶
func UpInsertionSort ¶
func UpInsertionSort(arr []int)
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.