using System;
using System.Collections.Generic;
public class MyCustomComparer : IComparer<int>
{
private readonly int _cutOffPointInclusive;
public MyCustomComparer(int cutOffPointInclusive)
{
_cutOffPointInclusive = cutOffPointInclusive;
}
public int Compare(int x, int y)
{
if (x <= _cutOffPointInclusive || y <= _cutOffPointInclusive)
{
return x.CompareTo(y);
}
else
{
return y.CompareTo(x);
}
}
}
public class Test
{
public static void Main()
{
var testData = new List<int>{ 4,7,9,8,20,56,78,34,2,76,84,98 };
testData.Sort(new MyCustomComparer(20));
foreach (var i in testData)
{
Console.WriteLine(i);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBNeUN1c3RvbUNvbXBhcmVyIDogSUNvbXBhcmVyPGludD4KewoJcHJpdmF0ZSByZWFkb25seSBpbnQgX2N1dE9mZlBvaW50SW5jbHVzaXZlOwoJCglwdWJsaWMgTXlDdXN0b21Db21wYXJlcihpbnQgY3V0T2ZmUG9pbnRJbmNsdXNpdmUpCgl7CgkJX2N1dE9mZlBvaW50SW5jbHVzaXZlID0gY3V0T2ZmUG9pbnRJbmNsdXNpdmU7Cgl9CgkKCXB1YmxpYyBpbnQgQ29tcGFyZShpbnQgeCwgaW50IHkpCgl7CgkJaWYgKHggPD0gX2N1dE9mZlBvaW50SW5jbHVzaXZlIHx8IHkgPD0gX2N1dE9mZlBvaW50SW5jbHVzaXZlKQoJCXsKCQkJcmV0dXJuIHguQ29tcGFyZVRvKHkpOwoJCX0KCQllbHNlIAoJCXsJCQkJCgkJCXJldHVybiB5LkNvbXBhcmVUbyh4KTsKCQl9Cgl9Cn0KCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgdGVzdERhdGEgPSBuZXcgTGlzdDxpbnQ+eyA0LDcsOSw4LDIwLDU2LDc4LDM0LDIsNzYsODQsOTggfTsKCgkJdGVzdERhdGEuU29ydChuZXcgTXlDdXN0b21Db21wYXJlcigyMCkpOwoJCQoJCWZvcmVhY2ggKHZhciBpIGluIHRlc3REYXRhKQoJCXsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoaSk7CgkJfQoJfQp9