private bool IsHSorted<T>(T[] a, int h) where T : IComparable<T> { for (var i = h; i < a.Length; i++) { if (Less(a[i], a[i - h])) { return false; } } return true; } }