46 lines
944 B
Go
46 lines
944 B
Go
|
|
/*
|
||
|
|
* @Author : huangzj
|
||
|
|
* @Time : 2020/8/20 16:13
|
||
|
|
* @Description:堆结构的基本特性:
|
||
|
|
* i 结点的父结点下标就为(i – 1) / 2。
|
||
|
|
* i 节点的左右子结点下标分别为2 * i + 1和2 * i + 2。
|
||
|
|
*/
|
||
|
|
|
||
|
|
package sort
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestHeapSort(t *testing.T) {
|
||
|
|
list1 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||
|
|
HeapSort(list1)
|
||
|
|
for _, r := range list1 {
|
||
|
|
fmt.Print(r, " ")
|
||
|
|
}
|
||
|
|
fmt.Println()
|
||
|
|
|
||
|
|
list2 := []int{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
|
||
|
|
HeapSort(list2)
|
||
|
|
for _, r := range list2 {
|
||
|
|
fmt.Print(r, " ")
|
||
|
|
}
|
||
|
|
fmt.Println()
|
||
|
|
|
||
|
|
list3 := []int{1, 432, 12, 67, 341, 874, 56332, 43, 6564, 234, 980, 4234, 6589932, 80, 42, 4234, 55}
|
||
|
|
HeapSort(list3)
|
||
|
|
for _, r := range list3 {
|
||
|
|
fmt.Print(r, " ")
|
||
|
|
}
|
||
|
|
fmt.Println()
|
||
|
|
|
||
|
|
list4 := []int{4523325, 21, 43, 1, 265, 7657, 8754, 234, 543, 536, 2, 6543, 772, 432, 5, 6, 7214, 6754}
|
||
|
|
HeapSort(list4)
|
||
|
|
for _, r := range list4 {
|
||
|
|
fmt.Print(r, " ")
|
||
|
|
}
|
||
|
|
fmt.Println()
|
||
|
|
|
||
|
|
}
|