堆排序的实现,包括建堆,siftup(主要用于建堆)和siftdown(主要用于调整)函数的实现,注意siftdown函数中的推出循环的条件,别把break落下了
输出:
mingw32-make: Nothing to be done for `all'.
Debug/BeautifulCoding20091103.exe
Original Array : 3 2 1 4 5 6 7
Build Max Heap : 7 6 5 2 3 1 4
ShiftDown 1-time: 4 6 5 2 3 1 7
ShiftDown 2-time: 1 4 5 2 3 6 7
ShiftDown 3-time: 3 4 1 2 5 6 7
ShiftDown 4-time: 2 3 1 4 5 6 7
ShiftDown 5-time: 1 2 3 4 5 6 7
ShiftDown 6-time: 1 2 3 4 5 6 7
ShiftDown 7-time: 1 2 3 4 5 6 7
Heap Sort Array : 1 2 3 4 5 6 7