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); }
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); }
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(); }
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(); }
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); }