insert sort
}
C ++ void Inserction(int n, int vetor[]){ int j,i,key; for(j = 1; j < n; j++){ key = vetor[j]; i = j - 1; while(i >= 0 && vetor[i] > key){ vetor[i + 1] = vetor[i]; i = i - 1; } vetor[i + 1] = key; }
}
Insertion sort
O Insertion sort é um algoritmo simples e eficiente quando aplicado em pequenas listas. Neste algoritmo a lista é percorrida da esquerda para a direita, à medida que avança vai deixando os elementos mais à esquerda ordenados.
O algoritmo funciona da mesma forma que as pessoas usam para ordenar cartas em um jogo de baralho como o pôquer.
Figura 4: Esquema de funcionamento do Insertion Sort
Neste passo é verificado se o 5 é menor que o 3, como essa condição é falsa, então não há troca.
É verificado se o quatro é menor que o 5 e o 3, ele só é menor que o 5, então os dois trocam de posição.
É verificado se o 2 é menor que o 5, 4 e o 3, como ele é menor que 3, então o 5 passa a ocupar a posição do 2, o 4 ocupa a posição do 5 e o 3 ocupa a posição do 4, assim a posição do 3 fica vazia e o 2 passa para essa posição.
O mesmo processo de comparação acontece com o número 1, após esse processo o vetor fica ordenado.
Java public static void insertionSort(int[] numbers) { for (int i = 0; i < numbers.length; i++) { int copyNumber = numbers[i]; int j = i; while (j > 0 && copyNumber < numbers[j-1]) { numbers[j] = numbers[j-1]; j--; } numbers[j] = copyNumber;
}
}
CRESCENTE
1. public class Crescente {
2.
3. /**
4. * @Autor Felipe Two
5. */
6. public static void main (String args []){
7. long start = System.currentTimeMillis();
8. int array [] =