public static void Sort_UsingArraySortMethod <T>(this LinkedList <T> list, ArraySortMethod <LinkedListNode <T> > sortMethod, IComparer <T> comparer = null) { LinkedListNode <T>[] arr = list.GetNodes(); IComparer <LinkedListNode <T> > nodeComparer = comparer.GetLinkedListNodeComparer(); // Сортируем массив узлов. sortMethod(arr, nodeComparer); // Восстанавливаем порядок в связном списке на основе массива узлов. list.Reorder_As_In_NodeList(arr); return; }