競技プログラミング用のライブラリ
次のライブラリへ
前のライブラリへ
001-05 ソートを定義した構造体とクラス
ソートを定義した構造体とクラスです。
C#のソース
////////////////////////////////////////////////////////////////
// ソートを定義した構造体
////////////////////////////////////////////////////////////////
struct SortableStruct : IComparable<SortableStruct>
{
internal int Col1;
internal int Col2;
// OrderBy Col1 desc , Col2 asc でソート
public int CompareTo(SortableStruct pOtherIns)
{
if (Col1 != pOtherIns.Col1) {
return pOtherIns.Col1.CompareTo(Col1);
}
return Col2.CompareTo(pOtherIns.Col2);
}
}
////////////////////////////////////////////////////////////////
// ソートを定義したクラス
////////////////////////////////////////////////////////////////
class SortableClass : IComparable<SortableClass>
{
internal int Ind;
internal string Name;
// OrderBy Name , Ind でソート
public int CompareTo(SortableClass pOtherIns)
{
int cmp = Name.CompareTo(pOtherIns.Name);
if (cmp != 0) {
return cmp;
}
return Ind.CompareTo(pOtherIns.Ind);
}
}