Skip to content

Latest commit

 

History

History
53 lines (33 loc) · 815 Bytes

README.md

File metadata and controls

53 lines (33 loc) · 815 Bytes

堆排序(Heap Sort)

一、安装

go get -u github.com/golang-infrastructure/go-heap-sort

二、示例代码

package main

import (
	"fmt"
	heap_sort "github.com/golang-infrastructure/go-heap-sort"
)

func main() {

	slice := []int{100, 2, 1, 10}
	heap_sort.Sort(slice)
	fmt.Println(slice)
	// Output:
	// [1 2 10 100]

}

三、API

对元素类型为可比较类型的切片进行正序排序

func Sort[T gtypes.Ordered](slice []T)

对元素类型为可比较类型的切片进行逆向排序

func ReverseSort[T gtypes.Ordered](slice []T) 

使用自定义的比较器对切片进行排序,如果需要逆序可以自行控制比较器的比较规则

func SortByComparator[T any](slice []T, comparator compare_anything.Comparator[T])