示例#1
0
        public static CronArray Ascende(double[] sortArray)
        {
            var startTime = DateTime.Now;
            var dimensao  = sortArray.Length;

            for (int i = 1; i < dimensao; i++)
            {
                var chave = sortArray[i];
                var j     = i - 1;

                while (j >= 0 && sortArray[j] > chave)
                {
                    sortArray[j + 1] = sortArray[j];
                    j--;
                }

                sortArray[j + 1] = chave;
            }

            var retorno = new CronArray {
                ArrayValues = sortArray, Duracao = DateTime.Now - startTime
            };

            return(retorno);
        }
示例#2
0
        public static CronArray Ascende(double[] sortArray)
        {
            var startTime = DateTime.Now;
            var dimensao  = sortArray.Length;

            for (int i = dimensao - 1; i > 0; i--)
            {
                var maiorIndex = 0;

                for (int j = 1; j < i + 1; j++)
                {
                    if (sortArray[j] > sortArray[maiorIndex])
                    {
                        maiorIndex = j;
                    }
                }

                var calice = sortArray[i];
                sortArray[i]          = sortArray[maiorIndex];
                sortArray[maiorIndex] = calice;
            }

            var retorno = new CronArray {
                ArrayValues = sortArray, Duracao = DateTime.Now - startTime
            };

            return(retorno);
        }
示例#3
0
        public static void PrintArray(CronArray array)
        {
            Console.WriteLine();

            foreach (var item in array.ArrayValues)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine();
            Console.WriteLine($"Tempo de processamento: {array.Duracao}");
            Console.WriteLine();
        }
示例#4
0
        private static void XeqInserctionSort()
        {
            var dimensao  = ProgramBase.GetDimension();
            var array     = ProgramBase.GetArray(dimensao);
            var opcao     = ProgramBase.GetSentido();
            var resultado = new CronArray();

            if (opcao == 1)
            {
                resultado = InsectionSort.Ascende(array);
            }
            else
            {
                resultado = InsectionSort.Descende(array);
            }

            ProgramBase.Cabecalho();
            ProgramBase.PrintArray(resultado);
            ProgramBase.Fim();
        }
示例#5
0
        public static CronArray Ascende(double[] sortArray)
        {
            var startTime = DateTime.Now;
            var dimensao  = sortArray.Length;

            for (int i = 1; i < dimensao; i++)
            {
                for (int j = 0; j < i; j++)
                {
                    if (sortArray[j] > sortArray[i])
                    {
                        var calice = sortArray[j];
                        sortArray[j] = sortArray[i];
                        sortArray[i] = calice;
                    }
                }
            }

            var retorno = new CronArray {
                ArrayValues = sortArray, Duracao = DateTime.Now - startTime
            };

            return(retorno);
        }