1 首先对给定的n个权值作升序排列 2 设置n-1次操作的k1n-1循环在第k次操作中由两个最小权值叶结点生成一个新结点 x=w[2*k-1]; y=w[2*k]; w[n+k]=x+y; lc[n+k]=x; rc[n+k]=y; 3 新结点参与排序为下一次操作做准备 考虑到每一次排序可能改变w数组元素顺序设置u数组每次所得新结点其数据传送给u数组最后输出时不是按已改变次序的w数组而是按u数组