using System; using System.Collections.Generic; namespace Breuk{ class Program{ class Breuk{ public int a; public int b; }; static void Main(){ Console.WriteLine("leudadi"); } static void MergeSort(T[] array,Func cp){ if(array.Length<2)return; int middle = array.Length/2; //Console.WriteLine("before cast"); T[] leftArray = array.Take(middle).ToArray(); //Console.WriteLine("after cast"); T[] rightArray = array.Skip(middle).ToArray(); MergeSort(leftArray,cp); MergeSort(rightArray,cp); int i=0;//array index int j=0;//leftArray index int k=0;//rightArray index while(j=leftArray.Length){ array[i] = rightArray[k]; k++; }else if(k>=rightArray.Length){ array[i] = leftArray[j]; j++; }else{ if(cp(leftArray[j],rightArray[k])){ array[i]=rightArray[k]; k++; } else{ array[i] = leftArray[j]; j++; } } i++; } } } }