private static void SortingAlgorithms() { var inputArr = new int[5] { 2, 3, 1, 5, 6 }; #region OrderBy Range Problem using MergeSort Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); SortingProblems sortingProblems = new SortingProblems(); Console.WriteLine("Given: {0}", inputArr.ToString()); int i = 1, j = 3; sortingProblems.SortSelectedRanges <int[]>(inputArr, i, j); Console.WriteLine("Sorted: {0} i:{1}, j:{2}", inputArr.ToString(), i, j); stopwatch.Stop(); Console.WriteLine("RunTime " + stopwatch.ElapsedMilliseconds); #endregion #region Merge sorting MergeSorting ms = new MergeSorting(); Console.WriteLine("Input Arrays:"); inputArr.All(a => { Console.Write("{0} ", a); return(true); }); Console.WriteLine(); Console.WriteLine("Sorted Arrays:"); foreach (var item in ms.Run <int[]>(inputArr)) { Console.Write("{0} ", item); } #endregion }
public void PassingSortingByRange() { #region prepare random data int n = 1000; Random r = new Random(); var inputArr = new int[n]; const int min = -10; const int max = 10000; for (int z = 0; z < n; z++) { inputArr[z] = r.Next(min, max); } int i = r.Next(10, 400), j = r.Next(400, 800); #endregion Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); SortingProblems sortingProblems = new SortingProblems(); Debug.WriteLine("Given: " + String.Join(",", inputArr)); var result = sortingProblems.SortSelectedRanges <int[]>(inputArr, i, j); Debug.WriteLine("Sorted: {0} i:{1}, j:{2}", String.Join(",", result), i, j); stopwatch.Stop(); Assert.IsTrue(inputArr.Length == result.Length); Debug.WriteLine("RunTime " + stopwatch.ElapsedMilliseconds); }