示例#1
0
        static double CountTimeForOneSort(int[] arrayToSort, Program.SortMethod sortMethod)
        {
            long startTime = DateTime.Now.Ticks;

            sortMethod(arrayToSort, 0, arrayToSort.Length - 1);

            long endTime = DateTime.Now.Ticks - startTime;

            return(endTime);
        }
示例#2
0
        public static double CountTimeForManySorts(int amountOfArrays, int sizeOfArray, int maxValueOfElement, Program.SortMethod sortMethod)
        {
            double time = 0;

            int[][] arrayOfArrays = new int[amountOfArrays][];

            for (int i = 0; i < amountOfArrays; i++)
            {
                arrayOfArrays[i] = CreateRandomArray(sizeOfArray, maxValueOfElement);
            }

            for (int i = 0; i < amountOfArrays; i++)
            {
                time += CountTimeForOneSort((int[])arrayOfArrays[i].Clone(), sortMethod);
            }

            time /= amountOfArrays;

            return(time);
        }