問題CPP02202の解答例と解説 C++ Lv.3
set<int> 構築(15分)
<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。
これは問題文にあるコードをまねして続けて書いたものだよ。
<解答例 2>
F11キーでフルスクリーンモード、Escキーで元に戻ります。
これも正解だよ。set は常に値の昇順でデータを管理しているので、insert の順番が変わっても find を実行するときはいつも値の昇順に並んでいるから探索がバイナリサーチでできるんだ。だから set に値を入れる順番は特に気にしなくても良いよ。
上のようにプログラムすると、setオブジェクトの中のすべての要素を標準出力することができるけれど、解答例1の場合も解答例2の場合もどちらも以下のように出力されるよ。
1980 | |
1984 | |
1988 | |
1992 | |
1994 | |
1996 | |
1998 | |
2000 | |
2002 | |
2004 | |
2006 | |
2008 | |
2010 | |
2012 | |
2014 | |
2016 | |
2018 | |
2020 |
これは、set は値をいつもソートされた状態で持っているからなんだ。
初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録
新規登録