初始建堆 从最后一个分支结点开始筛选标号为n/2 for(i=n/2; i>=1; i--) sift(r, i, n) 4. 堆排序筛选小根堆 r[1] ? r[n-i+1]; Sift ( r, 1, n-i; * * 49 65 49 97 76 97 13 27 38 49 65 49 97 76 38 27 13 输出堆顶元素 数据结构与STL 堆排序过程 91 88 42 23 24