Click here to load reader
Upload
omar-andres
View
22
Download
5
Embed Size (px)
Citation preview
METODO DE INSERCIÓN EN JAVA
El ordenamiento por inserción (insertion sort en inglés) es una manera muy natural de ordenar para un ser humano, y
puede usarse fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria. Requiere O(n²) operaciones
para ordenar una lista de n elementos.
Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado. Después, cuando hay k elementos
ordenados de menor a mayor, se toma el elemento k+1 y se compara con todos los elementos ya ordenados,
deteniéndose cuando se encuentra un elemento menor (todos los elementos mayores han sido desplazados una
posición a la derecha) o cuando ya no se encuentran elementos (todos los elementos fueron desplazados y este es el
más pequeño). En este punto se inserta el elemento k+1debiendo desplazarse los demás elementos.
public static void main(String[] args) { Scanner lectura = new Scanner(System.in); int[] Arreglo; int longitud, key, i; System.out.println("\t\t INSERCION : "); // longitud del arreglo System.out.print("Ingrese la Cantidad Numeros a Ordenar: "); longitud = lectura.nextInt(); // Creando un arreglo Arreglo = new int[longitud]; // Leer todos los numero a ordenar System.out.println("Ingresar " + longitud + " - Numeros : "); for(int n=0; n<longitud ; n++){ Arreglo[n] = lectura.nextInt(); } // Ordenar los Numeros utilizando el metodo Burbuja for(int j=1 ; j<longitud ; j++){ key = Arreglo[j]; i = j-1; //Inserta A[j] en la ya ordenada while(i >= 0 && Arreglo[i]>key){ Arreglo[i+1]= Arreglo[i]; i--; } Arreglo[i+1] = key; } // Mostra el arreglo ordenado for(int n=0; n<longitud ; n++) System.out.print(Arreglo[n]+" "); }void insertionSort(int arr[], int length) {int i, j, tmp;for (i = 1; i < length; i++) {j = i;while (j > 0 && arr[j - 1] > arr[j]) {tmp = arr[j];arr[j] = arr[j - 1];arr[j - 1] = tmp;j--;}}}