.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 замени на имя поля, по которому сортировать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д