だから、これは私が得たインタビューの質問であり、当時は普通にしか実行されていませんでした。私は最適なソリューションが何であり、どのように実装されているのが最適かを考えています。複数のソート済みリストのイテレータを作成するには?
複数の並べ替えられたリストが与えられています。のいずれかという構造を使用して、最小の要素から最大の要素まですべてのリストを繰り返し処理できます。
例:
{ -2, 5, 10}
{ 2, 9, 11}
{ -5, 9}
-> -5, -2, 2, 5, 9, 9, 10, 11
を更新:
特にSOのチャット#のC-質問-と-答えと@Nicanからの助けのビットが、私はこの船を得ています何とか飛ぶ。私は、他のソリューションも可能にするための答えとして私の作業コードを掲載しました。
私が下に投稿した答えは、まだまだ厄介です。特に、==と!=を正しく実装していません。私はまだそれらの助けが必要です。オンラインクリーンでミニマルなカスタムイテレータの実装を見つけるこの質問
ため
正当化は、一般的ではありません。そして、私は、この質問がイテレータとベストプラクティスの理解を高めるための出発点として役立つと考えています。
*「end()を実装して根本的な部分のどれが最大であるかを確認する」*あなたがどのように役立つか分かりません。 'end()'に、シーケンスの最後にいることを知らせる識別子を持つイテレータオブジェクトを返します。そして '=='演算子がそれを処理していることを確認してください。フォワードイテレータの場合、 '++'、代入演算子などを書く。そして、リファクタが 'const_iterator'を作るようにする。 – MFisherKDX