平成23年秋目次 前の問題 次の問題
問5
スタック 1,2 があり,図の状態になっている。関数 f はスタック 1 からポップしたデータを そのままスタック 2 にプッシュする。 関数 g はスタック 2 からポップしたデータを出力する。b,c,d ,a の順番に出力するためには , 関数をどの順で実行すればよいか。ア f, f, g, f, f, g, g, g イ f, f, g, f, g, f, g, g
ウ f, f, g, f, g, g, f, g エ f, f, g, g, f, f, g, g
解説
ffgまではすべての選択肢で同じであり、次のようになる。・1番目、2番目のffでスタック2にはaがプッシュされ、次にbがプッシュされる。
・3番目にgが実行されスタック2からbがポップされ出力される。
次はcを出力したいので、もし、gが実行されるとスタック2からaがポップされ出力されてしまうので、fのはずであ る。
・4番目にfが実行されるとスタック1はdがはいっているだけ、2は下からa、cがはいっている。
次はcを出力したいのでこの状態でスタック2からポップすればよいので、
・5番目にgを実行すればよい。
次はdを出力したいのでgはまだ行えないから、
・6番目にはfを行う。
今スタック2には、下からa、dが入っている。この状態で2回ポップして出力すればよいので
・7番目、8番目にggとなる。
よって答えは、ffgfgfgg
0 件のコメント:
コメントを投稿