|
分類:[C#]
はじめまして 宜しくお願いします
C#でリストを作成し、そのソートをしたいと思っています。 そのソートの方法ですが、リストの中にあるint型配列の要素0〜4を以下のような条件で ソートしたいと思っていますが、効率の良いソート方法はありますでしょうか。
[開発環境] VisualStudio 2015 C# .Net4.5
[ソートの条件] 配列要素0〜4の順に降順ソートします。 その際に、要素0〜2の合計値、要素0〜2の値が全て0になった場合は、要素3〜4の合計値を 降順ソートの条件に含めます。
[構造体の型] struct KOUZOU { string Name; int[] Youso; void reset(){ Youso = new int[5]; } }
[リストの宣言] List<KOUZOU> Sort_Data;
[ソートのイメージ] <ソート前データの並び> { "name6", { 5, 2, 2, 4, 7}}, { "name2", { 6, 1, 2, 3, 9}}, { "name1", { 0, 4, 2, 1, 2}}, { "name4", { 0, 3, 6, 9, 1}}, { "name3", { 0, 0, 3, 2, 2}}, { "name7", { 0, 0, 0, 5, 9}}, { "name5", { 0, 0, 0, 6, 8}} ↓ <ソート前データの並び> { "name2", {6, 1, 2, 3, 9}}, //name6と要素0〜2の合計値は一緒だが、要素0の値が大きい { "name6", {5, 2, 2, 4, 7}}, { "name1", {0, 4, 2, 1, 2}}, //name4より要素0〜2の合計が少ないが、要素1の値が大きい { "name4", {0, 3, 6, 9, 1}}, { "name3", {0, 0, 3, 2, 2}}, //name5の要素3〜4の合計が多いが、要素2の値が大きい { "name5", {0, 0, 0, 6, 8}}, { "name7", {0, 0, 0, 5, 9}}
|