Ordena de inserción en C ++

Ordena de inserción en C ++
La clasificación de inserción es un algoritmo o enfoque de organización básica que funciona de la misma manera que puede organizar mazos de tarjetas en sus palmas. El surtido se separa en dos partes: una que se ordena y la otra que no. Los artículos del segmento desordenado se designan y se ubican en el fragmento organizado en el orden correcto. El tipo de inserción comparará los dos valores consecutivos entre sí y esta metodología es más efectiva que el tipo de burbuja y selección, pero no tan rápido como el tipo rápido o la fusión de fusiones.

Comencemos con el lanzamiento de la aplicación Shell en Ubuntu 20.04 Sistema con Ctrl+Alt+T. Después de iniciarlo, cree un archivo C ++ en su carpeta de inicio a través de la instrucción "Toque" que se muestra en la imagen. Nombra el archivo C ++ con la extensión "CC". Después de eso, abra su archivo en cualquier editor incorporado de Ubuntu 20.04 sistema (yo.mi. Gnu nano, texto o vim).

Ejemplo 1:

Comencemos con el primer ejemplo para usar el tipo de inserción para ordenar una matriz desordenada aleatoria en orden ascendente de números. Comenzamos nuestro código con la inclusión de los "bits/stdc++.H ”Biblioteca estándar. Luego, agregamos el "espacio de nombres" estándar de C ++ con la palabra corta "usando" y "STD". La función "sort ()" utiliza la matriz "A" y su tamaño "n" para ordenar la matriz aleatoria no ordenada en una sola técnica de clasificación de inserción.

Declaramos una variable entera "clave" y el bucle "para" está en progreso. Hasta que el bucle interactúe hasta el tamaño "n" de una matriz, el valor en cada índice "i" de la matriz "a" se guarda en la variable "clave".

Inicializar otra variable "J" con el valor anterior del índice "I" I I.mi. "J = I -1". Aquí viene el bucle while. Mientras que el índice anterior "j" es mayor o igual a 0 y el valor en el índice "j" es mayor que el valor en la variable "clave" i i.mi. El valor en el índice "i", continuará agregando el valor en el índice "j" para indexar "j+1", que en realidad es 'i ". Junto con eso, el índice "j" disminuirá en 1 i.mi. El anterior de "J" se convertirá en "J".

Después de que termina el bucle while, el valor en "j+1" se asigna con valor "clave". i.mi. en "I". Para dejarlo más claro, digamos si i = 1 entonces j = 0. Entonces, si el valor en "j" es mayor que la "clave", cambiaremos el valor en "j" con el siguiente valor consecutivo.

Esta función se ejecuta mediante la función Main () pasando la matriz y su tamaño específico en los parámetros. El bucle "para" se usa para iterar los valores de la matriz del índice 0 al último índice "N-1" de una matriz. En cada iteración, cada valor se muestra en el shell utilizando el índice específico de una matriz para una iteración particular a través de la instrucción Cout. La última declaración de cout se usa para poner la línea final después de la visualización de una matriz completa "A" en el shell.

La ejecución de este código comienza desde el método main (). Inicializamos una matriz "A" del tipo entero con algunos valores de números aleatorios. Esta matriz aún no está ordenada. Estamos obteniendo el tamaño de una matriz utilizando la variable "n" y aplicando la función sizeOf () en la matriz "a".

El objeto Cout se usa para informar al usuario que el programa mostrará la matriz original sin clasificar en su pantalla. La función "Show" se llama al pasar la matriz "A" y el tamaño "N" para mostrar la matriz ordenada al azar. La siguiente declaración de cout se usa para informarle que el programa va a mostrar la matriz ordenada en el shell mediante el uso de inserción.

El "sort ()" se llama pasando una matriz andilleada "A" y su tamaño. La función sort () clasifica la matriz y la función show () muestra la matriz ordenada actualizada "A" en la pantalla de shell de nuestro terminal Linux. El código general ahora se completa aquí.

Después de la compilación de nuestro código, no tenemos errores. Ejecutamos nuestro código a través del "./a.Instrucción de fuera "que se muestra a continuación. Se ha mostrado la matriz no organizada y luego la matriz ordenada está en un orden ascendente a través del tipo de inserción.

Ejemplo 2:

Echemos un vistazo a otro ejemplo de clasificación de inserción. Dentro de este ejemplo, no utilizaremos ninguna función de clasificación definida por el usuario para realizar un orden de inserción. Solo usaremos la función Main () en el código para realizarla. Entonces, abrimos el mismo archivo de código y actualizamos el código. Agregue la biblioteca de transmisión de entrada y salida estándar C ++ con la palabra clave "#include". El "espacio de nombres estándar" se declara utilizando la palabra clave "usando".

Comenzamos la función principal () del tipo entero e inicializamos una matriz entera "A" del tamaño 10 con los 10 valores numéricos. Estos elementos de una matriz "a" se colocan al azar independientemente del orden. La instrucción Cout se utiliza para afirmar que vamos a mostrar la lista antes de ordenarla. Después de esto, usamos el bucle "para" para iterar los valores de la matriz original no organizada "A" hasta su último elemento. En cada iteración del bucle "para", cada mismo valor de índice de la matriz "A" se muestra en el shell a través de la declaración "Cout". Después de este bucle "para", utilizamos otro bucle "para" para realizar la clasificación de "inserción".

Este bucle "para" se inicializa desde "k = 0" a "k = 10". Mientras que el bucle se está iterando de 0 a décimo índice de la matriz "A", continuamos asignando el valor en el índice "k" de la matriz "a" a la nueva variable entera "temp". Además, descubrimos el predecesor "j" del valor "k" usando el "k-1". El bucle "while" está aquí para verificar si el índice del predecesor "j" es mayor que 0 y el valor en la variable "temp" es menor o igual al valor del predecesor "j" de la matriz "a".

Si esta condición satisface, el valor del predecesor se asigna a la siguiente "j" predecesor I.mi. "J+1". Junto con esto, continuamos disminuyendo el índice del predecesor I.mi. Moviéndose en la dirección hacia atrás. Después de que termina el bucle while, asignamos el valor de "temp" al siguiente predecesor "j". Después de que termina el bucle "para", mostramos la matriz ordenada "A". Para esto, utilizamos la declaración "Cout" en el bucle "para". El código se completa aquí y está listo para su uso.

Compilamos el archivo de código "Inserción.CC "con éxito y ejecutó el archivo con el"./a.instrucción fuera ". La matriz aleatoria no organizada se muestra primero. Después de eso, la matriz ordenada a través del tipo de inserción se muestra al final según la salida a continuación.

Conclusión

Este artículo trata sobre el uso del uso de inserción para ordenar una matriz aleatoria en un programa C ++. Discutimos la forma convencional de clasificar la matriz con el tipo de inserción dentro de los primeros ejemplos I.mi. Uso de Sort, Display y la función del controlador Main (). Después de esto, utilizamos el nuevo método para realizar el tipo de inserción en una función de un solo controlador ().