>>440
【1】 (1) return ; (2) shift_down(heap, s, 2*s, n);
【2】 (2) swap(&heap[1], &heap[i]); (2) shift_down(heap, 1, 2, i-1);

酷いコードだ。
教育だからこそ、スマートなコードにしてくれることを切に願う。