利用的是堆排序算法提前需要了解的知识点: 找出最后一个非叶子节点:(length-1)/2 获取一个父节点的子节点 : (child*2)+1 、(child*2)+2逻辑大致如下: 1、把列表改造成最小堆,也就是列表的第一个元素是最小值 (1)获取列表里的最后一个非叶子节点。把当前这个节点当作是一棵树,获取该节点下的最大堆。 a、获取列表里的最后一个非叶子节点。定位到这个非叶子节点的两个子节点。 b、判断两个子节点哪个是最小的。 c、把最小的子节点和父节点对比,加入子节点比父节点小,则把他们两替换一下 d、假如最小的子节点没有比父节点小,可以执行退出。 e、假如最小的子节点比父节点小,需要获...