を実装するリストクラスがありますIEnumerable<T>
。
タイプ T は、一意の識別子として文字列メンバーを持つ複合クラスです。しかし、説明のために要素の型としてintだけを使用するだけで十分です。
複数のアイテムを 1 段左に移動したい。
例:
元のリスト: 0 , 1, 2, 3 , 4 , 5
ここで、すべての太字の項目 (0,3,4) を (可能な限り) 左に移動する必要があります。
結果リスト: 0 , 1, 3 , 4 , 2, 5
それを行うための良いアルゴリズムはありますか?多分LINQだけです。
編集:List<T>
リストへの回答は大歓迎です。私のクラスには同様のメソッドがあります。(TylerOhlsen によるヒントに感謝します。)
Edit2: 1 つの選択された項目が別の選択された項目を通過してはなりません。