续上面,
上面的一个初始化构建堆和替换之后的构建堆是分开写的。
可以仔细看一下,初始化是从i=n/2..n开始到i=1..n开始构建的
而替换后是从i=1..n-1 ,i=1..n-2..构建的
只是构建的开始位置和结束位置不一样而已
所以完全可以合成一个函数,只是在构建堆的时候需要多写上一个从i=n/2到i=1的一个循环完成各个字数的构建。
完成代码如下:欢迎拍砖!
续上面,
上面的一个初始化构建堆和替换之后的构建堆是分开写的。
可以仔细看一下,初始化是从i=n/2..n开始到i=1..n开始构建的
而替换后是从i=1..n-1 ,i=1..n-2..构建的
只是构建的开始位置和结束位置不一样而已
所以完全可以合成一个函数,只是在构建堆的时候需要多写上一个从i=n/2到i=1的一个循环完成各个字数的构建。
完成代码如下:欢迎拍砖!