音楽ストリーミングサービスを提供する会社で働いています。
音楽プレイヤーアプリにプレイリスト機能を作る仕事を任されました。
音楽プレイヤーアプリケーションのプロトタイプを書いてみましょう。
プロトタイプでは、それぞれの曲を単純に数値で表します。数値の範囲(曲のID)が与えられたら、単方向連結リストを作成しましょう。
単方向連結リストが与えられたら、そのリストを逆順にして、曲を反対の順番で再生できるようにしましょう。
連結リストはコンピューターサイエンスにおける基本的なデータ構造で、ほかのデータ構造を実装するときによく使われます。
もっとも単純な連結リストは、単方向連結リストです。つまり、各要素(「ノード」)はデータを持ち、さらにリスト内の次のノードを指すものを持ちます。
連結リストについてもっと深く知りたい場合は、こちらの記事で、わかりやすい図を使って説明されています。
この演習では、繰り返し処理できる連結リストのデータ構造を作成する必要があります。
Countプロパティを実装します。外部から値を変更できないようにしてくださいPush(T value)メソッドを実装します。Pop()メソッドを実装します。IEnumerable<T>インターフェースを実装します。詳しくは、こちらのページを参照してください。Reverse()メソッドが利用できるようにしてください。