回答編集履歴
1
追記1
answer
CHANGED
@@ -3,4 +3,37 @@
|
|
3
3
|
つまり、書き方はいくらでもあると言うこと。仕様に沿っていて、実行結果が合っていればそれでいいのです。
|
4
4
|
|
5
5
|
質問にある解説の実装方法を含めると、
|
6
|
-
私の場合は3種類ほど思いつきますね。
|
6
|
+
私の場合は3種類ほど思いつきますね。
|
7
|
+
|
8
|
+
-----------------------
|
9
|
+
|
10
|
+
[追記1]
|
11
|
+
|
12
|
+
たとえば、以下の通りです。
|
13
|
+
|
14
|
+
```
|
15
|
+
[候補1]
|
16
|
+
単に構造体を定義して、それの配列またはvectorを使う
|
17
|
+
|
18
|
+
[候補2]
|
19
|
+
候補1のクラス版
|
20
|
+
|
21
|
+
[候補3]
|
22
|
+
std::vector< std::pair<int,string> > を使う
|
23
|
+
```
|
24
|
+
|
25
|
+
さらに考えれば、(言われてから気づきましたが)
|
26
|
+
|
27
|
+
```
|
28
|
+
[候補4]
|
29
|
+
std::priority_queueを使う
|
30
|
+
|
31
|
+
[候補5]
|
32
|
+
std::mapを使う
|
33
|
+
```
|
34
|
+
|
35
|
+
もあり得ますね。
|
36
|
+
|
37
|
+
(最初、回答したとき、単に「データを確保するという目的」だけに注目していたので、priority_queueとかが思い付かなかった……)
|
38
|
+
|
39
|
+
std::priority_queueは「優先度付きキュー」なので、実装はともかく、取り出すときは「ソート済み」になるため、今回の目的を考えると最適かもしれません。
|