擬似言語

[ リスト ]



マージを理解していればプログラムをじっくり読まなくてもいいって開設には書いてあった
・・・マージなんて知らないよぉぉぉ


プログラムを読んでいてわかったこと
退避用の配列を用意すべし!!!ここではtemp[ ]でした。。。
これを用意しないとoutput[ ]に戻したときに数が重なってデータがなくなっちゃうんだよねっ



設問1


a
答え   エ

aの下にある条件を見ると
b_yet=false or(a_yet=true ane b_yet=true and temp[a_idx - span_idx]<=output[b_idx])
b_yetが偽 または a_yetとb_yetが真でありtemp[ ](作業用の配列)が整列されていない

a_yetとb_yetどちらかがtrueの時にはまだ並び替えが終了していないので処理を続けないといけない♪



b
答え   オ

write_idxはoutput[ ]の添字 
output[ ]に並び替えの完了した数値が入ったなら添字を進めないとね☆



c
答え   ウ

配列の要素数が先のものと変わらないから回数は3回




d
答え   イ

先の配列と違い3回目の併合をやろうとしてももう2回目の併合できれいに数値が並び替えられている☆




e
答え   ウ

この処理は途中ですでに併合が済んでしまっている場合処理を終わるという課程を加えるためのもの
併合を終えた最終数値と今から併合する数値の大小を比べて順序良く並んでいれば併合を終わりにするためにorderedにfalseを入れる

よしもとブログランキング

もっと見る

[PR]お得情報

話題の新商品が今だけもらえる!
ジュレームアミノ シュープリーム
プレゼントキャンペーン
ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
11/30までキャンペーン実施中!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事