SHARE
TWEET

InsertionSort

a guest Apr 26th, 2019 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package Sort;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class InsertionSort {
  6.     public static void main(String[] args) {
  7.         Scanner in = new Scanner(System.in);
  8.         int[] arr = new int[in.nextInt()];
  9.         for (int i = 0; i < arr.length; i++) {
  10.             arr[i] = in.nextInt();
  11.         }
  12.         insertionSort(arr);
  13.         for (int i = 0; i < arr.length; ++i) {
  14.             System.out.print(arr[i] + " ");
  15.         }
  16.         System.out.println();
  17.     }
  18.  
  19.     static void insertionSort(int arr[])
  20.     {
  21.         /*
  22.             Começa a percorrer o array iniciando pela segunda casa e
  23.             continua até acabar o array.
  24.         */
  25.         for (int i = 1; i < arr.length; ++i) {
  26.             //Armazena o que está na casa atual.
  27.             int key = arr[i];
  28.             //Pega a posição imediatamente antes desta casa
  29.             int j = i - 1;
  30.             /*
  31.                 Continua caso o J sejá maior ou igual a zero e o array na posição j
  32.                 seja menor ou igual ao que está armazenado.
  33.             */
  34.             while (j >= 0 && arr[j] > key) {
  35.                 /*
  36.                     Faz com que a posição a frente do j receba o que estiver em j
  37.                     e faz o j decrescer. Isto continua até achar a posição onde
  38.                     o valor armazenado deve ser posto ou quando o j for 0.
  39.                 */
  40.                 arr[j + 1] = arr[j];
  41.                 j = j - 1;
  42.             }
  43.             //Põe o valor armazenado na posição certinha.
  44.             arr[j + 1] = key;
  45.         }
  46.     }
  47. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top