.NET 4.x Алгоритм сортировки слиянием - C#
Формулировка задачи:
Ребятки помоги! Понять что здесь не так:
это работает, код может просмотреть коллекцию, только не могу понять почему не сортируется коллекция.
public static IEnumerable<T> MSort<T>(this IEnumerable<T> list) where T : IComparable<T> { if (!list.Any()) return Enumerable.Empty<T>(); Int32 begin = 0; Int32 end = list.Count(); Int32 middle = (begin + end) / 2; IEnumerable<T> first = list.Skip(begin) .Where(item => middle + 1 > end - 1 || (begin <= middle + 1 && BooleanFunctions<T, Boolean> .Less(list.ElementAt(begin), list.ElementAt(middle + 1)))); IEnumerable<T> second = list.Skip(middle + 1) .Where(item => middle + 1 > end - 1 || (begin <= middle + 1 && BooleanFunctions<T, Boolean> .Less(list.ElementAt(middle + 1), list.ElementAt(end - 1)))); return first.Concat(second); }
Решение задачи: «.NET 4.x Алгоритм сортировки слиянием»
textual
Листинг программы
return first.Concat(second).OrderBy(u=>u.Name); // Name замени на имя поля, по которому сортировать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д