平成30年春期午後問8

きなこさん  
(No.1)
https://www.fe-siken.com/kakomon/30_haru/pm08.html
1番最後のe問題での質問です。
副プログラムheapsort でhlast は要素番号5となり、downheap での行番号4が30≦10となり、成り立たないと感じたのですが、この時のhlast は要素番号6のままなのでしょうか。
ぜひご教授いただけると嬉しいです。
2021.10.19 10:04
関数従属さん 
FE ゴールドマイスター
(No.2)
heapSortの行番号4から行番号7までの1回目の繰返し処理の際、
副プログラムdownHeapが呼び出された時のhlastの値は5で合っております。

downHeapの行番号4の1回目の繰返し処理の判定は
n(=0)に対するlchild(n)の値(=1)とhlastの値(=5)を比較(1と5を比較)する為、
ループの中に入りdownHeap行番号5以降の処理が行われていきます。
(※heap配列の中身が比較されるわけではありません。)
2021.10.20 22:39
きなこさん  
(No.3)
ご回答ありがとうございます!
中身を比べるのではないのですね、理解できました!
ありがとうございます。
2021.10.21 10:15

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop