不二如是 发表于 2017-5-29 06:57:09

算法25 ◉‿◉ 堆排序

本帖最后由 不二如是 于 2017-5-29 07:11 编辑

http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png

按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁



程序分析:

        堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
        具体算法描述如下:
<1>.将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区;
<2>.将堆顶元素R与最后一个元素R交换,此时得到新的无序区(R1,R2,……Rn-1)和新的有序区(Rn),且满足R<=R;
<3>.由于交换后新的堆顶R可能违反堆的性质,因此需要对当前无序区(R1,R2,……Rn-1)调整为新堆,然后再次将R与无序区最后一个元素交换,得到新的无序区(R1,R2….Rn-2)和新的有序区(Rn-1,Rn)。不断重复此过程直到有序区的元素个数为n-1,则整个排序过程完成。


源代码:
**** Hidden Message *****




○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛

okgogogo 发表于 2018-1-13 17:21:11

{:10_281:}学一下

dsa159245 发表于 2018-5-17 00:00:01

学习学习

忆不俊源 发表于 2018-6-21 18:45:49

相当高端的吧

a211827754 发表于 2018-9-24 16:14:44

em

FFISH 发表于 2018-12-20 17:57:03

学习

superlion 发表于 2018-12-21 13:48:32

好快的动画啊

秋木叶 发表于 2019-3-7 13:14:58

{:10_277:}

o384723503 发表于 2019-3-7 18:07:07

6666

易晓外 发表于 2019-3-11 19:35:38

学习

wangdxf 发表于 2019-4-1 13:15:16

{:7_131:}

qq617955720 发表于 2019-4-3 10:46:56

66666666666666666666

HnYear 发表于 2019-4-29 16:31:55

1

D473240632 发表于 2019-5-27 12:40:11

看看

只会白给 发表于 2019-10-26 19:47:53

顶顶顶

Ruide 发表于 2019-10-28 12:11:54

好好学习

闫洪宇 发表于 2019-10-30 16:10:43

我要看源代码

SSUR 发表于 2019-12-30 19:37:38

1

水中望月 发表于 2019-12-31 09:09:36

0.0

过气de翠翠 发表于 2020-3-5 20:56:01

111
页: [1] 2
查看完整版本: 算法25 ◉‿◉ 堆排序