回答編集履歴

1

追記1

2021/06/12 10:16

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -9,3 +9,69 @@
9
9
  質問にある解説の実装方法を含めると、
10
10
 
11
11
  私の場合は3種類ほど思いつきますね。
12
+
13
+
14
+
15
+ -----------------------
16
+
17
+
18
+
19
+ [追記1]
20
+
21
+
22
+
23
+ たとえば、以下の通りです。
24
+
25
+
26
+
27
+ ```
28
+
29
+ [候補1]
30
+
31
+ 単に構造体を定義して、それの配列またはvectorを使う
32
+
33
+
34
+
35
+ [候補2]
36
+
37
+ 候補1のクラス版
38
+
39
+
40
+
41
+ [候補3]
42
+
43
+ std::vector< std::pair<int,string> > を使う
44
+
45
+ ```
46
+
47
+
48
+
49
+ さらに考えれば、(言われてから気づきましたが)
50
+
51
+
52
+
53
+ ```
54
+
55
+ [候補4]
56
+
57
+ std::priority_queueを使う
58
+
59
+
60
+
61
+ [候補5]
62
+
63
+ std::mapを使う
64
+
65
+ ```
66
+
67
+
68
+
69
+ もあり得ますね。
70
+
71
+
72
+
73
+ (最初、回答したとき、単に「データを確保するという目的」だけに注目していたので、priority_queueとかが思い付かなかった……)
74
+
75
+
76
+
77
+ std::priority_queueは「優先度付きキュー」なので、実装はともかく、取り出すときは「ソート済み」になるため、今回の目的を考えると最適かもしれません。