0
일부 정렬 항목이 동일 할 때 비교 결과가 일관된 결과를 얻을 수있는 방법이 있습니까? 내 자신의 정렬 루틴을 코딩해야합니까?비교 동일한 키에 대한 위임자 플립 플롭 결과
public class Sorter
{
public void SortIt()
{
var myData = new List<SortData>(3);
myData.Add(new SortData { SortBy = 1, Data = "D1"});
myData.Add(new SortData { SortBy = 1, Data = "D2" });
myData.Add(new SortData { SortBy = 2, Data = "D3" });
myData.Sort(new Comparison<SortData>((a, b) => a.SortBy.CompareTo(b.SortBy)));
ShowResults(myData);
myData.Sort(new Comparison<SortData>((a, b) => a.SortBy.CompareTo(b.SortBy)));
ShowResults(myData);
myData.Sort(new Comparison<SortData>((a, b) => a.SortBy.CompareTo(b.SortBy)));
ShowResults(myData);
}
private void ShowResults(IEnumerable<SortData> myData)
{
foreach (var data in myData)
{
Console.WriteLine(data.SortBy + " " + data.Data);
}
Console.WriteLine("\n");
}
}
public class SortData
{
public int SortBy { get; set; }
public string Data { get; set; }
}
enter code here
이제 결과가 무엇인지주의 사항 :
1 D2
1 D1
2 D3
1 D1
1 D2
2 D3
1 D2를
1 D1
2 D3
처음 두 항목이 얼마나 일관성 있고 오랫동안 정렬되어 있는지는 신경 쓰지 않습니다! 플립 플롭을 유지합니다.