Tutoriales

Clasificación de selección en C++

Al igual que muchas otras técnicas de clasificación, la clasificación por selección es una clasificación estable que selecciona el valor más bajo de una lista desordenada y lo coloca en la parte superior de la lista desordenada en cada bucle. La matriz se fragmenta en dos divisiones utilizando la metodología de clasificación por selección. Elementos enteros están dispuestos en una sección mientras que los objetos están desordenados en la otra. Comenzaremos extrayendo los valores máximo y mínimo de la matriz. Establecemos los datos (por ejemplo, mínimo) en el número uno reemplazando los datos de la primera posición con la menor cantidad de datos. La matriz se encoge como resultado de la acción. Comencemos por crear y abrir un nuevo archivo C++ en la terminal.

Ejemplo 01:

Comenzaremos nuestro primer ejemplo con una ilustración simple de la forma tradicional de usar la ordenación por selección en C++. Agregamos el encabezado único «iostream» en la primera línea con la palabra clave «#include». Use el espacio de nombres estándar a través de C++ usando el acceso directo. Aquí viene la función «Intercambiar» para que el ordenamiento por selección intercambie algunos valores entre sí. Esta función toma dos valores como entrada, es decir, «x» e «y». La variable «temp» se declara como un número entero. Luego se transfirió el valor de la variable «x» a la variable «temp». El valor de la variable ‘y’ se sobrescribe en la variable ‘x’ y el valor de ‘temp’ se asigna a la variable ‘y’. Al usar esta técnica de intercambio, los valores de las variables «x» e «y» se intercambian o intercambian.

El método main() llama dos veces a la función show(), es decir, antes y después de ordenar. Esta función toma el arreglo «A» y su tamaño «n» del método main() e itera los valores de un arreglo «A» usando el bucle «for». Cada iteración continúa mostrando cada valor de la matriz «A» en el índice «I» con la instrucción de salida estándar «cout». Después de mostrar todos los valores con el bucle «for», la función show() agrega una nueva línea o termina con el carácter «\n» dentro de la directiva estándar «cout». La función show() se completa aquí:

Ahora es el momento de realizar la ordenación por selección en nuestra matriz desordenada aleatoria ingresada por un usuario. Entonces, esta función solo es llamada por la función main(). Toma la matriz «A» y su tamaño «s» del método main(). Una variable «im» de tipo entero se inicializa para ser utilizada como índice del valor más pequeño de la matriz. El bucle «for» externo se usó para iterar sobre los índices de una matriz hasta el tamaño «s-1». El índice más pequeño «I» se asigna a la variable «im». El ciclo interno «for» comienza en el sucesor del índice «I», es decir, «j=i+1».

En cada iteración, el valor de la variable «im», el valor más pequeño de una matriz, se compara con el índice «j» de una matriz. Si el valor de «im» es menor que el valor de «j», el índice de «j» se asigna a la variable «im». «j» ahora se convierte en «im» e «im» se convierte en «j», es decir, a la variable «im» se le asigna el valor más pequeño. La función «Intercambiar» se utiliza para intercambiar entre el valor del índice «I» y el valor en «im» de una matriz, es decir, entre valores pequeños y grandes.

A partir del método main(), declaramos una variable entera «n». El objeto «cout» se usa aquí para pedirle a un usuario que ingrese «el número total de elementos» que desea usar para una matriz. La cláusula de entrada estándar «cin» se usa para obtener el número de entrada del usuario y almacenarlo en la variable «n». Después de eso, inicializamos una matriz de enteros «A» de tamaño «n», es decir, el tamaño lo define la entrada del usuario. La directiva de salida estándar cout solicita a los usuarios que ingresen valores en la matriz hasta el tamaño requerido, es decir, ‘n’. El ciclo «for» comenzó a iterar sobre los índices de una matriz desde 0 hasta el tamaño n-1.

Con cada iteración del bucle, el usuario agrega un solo valor, separado de otros valores por un espacio. Después de insertar todos los valores en la matriz «A», la instrucción cout en la salida estándar nos muestra que el programa muestra la matriz aleatoria agregada por el propio usuario. La función show() se llama pasándole la matriz aleatoria «A» junto con el tamaño «n». La matriz sin clasificar agregada por el usuario se muestra en nuestro shell.

Después de eso, otra declaración de cout le dice al programa que muestre la matriz ordenada «A» después de usar la selección de clasificación en la no ordenada. Se llamó a la función de clasificación pasándole la matriz «A» y el tamaño «n» como argumentos. La función de clasificación realiza una clasificación por selección para organizar la matriz en orden ascendente y actualiza la matriz. Después de la función de clasificación, se volvió a llamar a la función mostrar (), pasando la matriz «A» y el tamaño «n» como sus parámetros. La función show() finalmente muestra la matriz ordenada «A» en la terminal de shell.

El archivo de código fue compilado y ejecutado en el shell. El usuario ingresó el número de elementos para la matriz como 10. Después de eso, un usuario ingresó los 10 valores aleatorios sin clasificar para una matriz. Luego se mostraban la matriz ordenada y no ordenada.

Ejemplo 02:

La ordenación por selección se puede implementar de otras formas sin utilizar funciones de ordenación personalizadas. Así que decidimos implementar la otra forma también. Comenzó el código con la biblioteca iostream y el espacio de nombres para C++. La función main() se inició declarando variables enteras como n, matriz A, temp, s, check c e index. El programa le pidió que ingrese el tamaño. La declaración «cin» se usa para tomar el tamaño como entrada en la variable «n». Después de eso, el usuario solicitó ingresar 10 valores.

Se inicializó el bucle «for» para sumar los 10 valores con el objeto «cin». El siguiente ciclo «for» se usa aquí para inicializar el valor de prueba a 0 en cada iteración y almacenar el valor en el índice «I» de una matriz en la variable «s». El ciclo interno «for» usa la declaración «if» para verificar si el valor del predecesor «j» es menor que el valor «s». Agrega el valor o índice «j» a la variable «s». La comprobación es incremental y el índice «j» se asigna a la variable «índice». Si el tick «c» no es igual a 0, los valores se intercambian. Finalmente, se imprime la matriz ordenada.

Agregamos 8 como tamaño de entrada y 8 valores en matriz al ejecutar este código. La matriz ordenada se mostró en el shell como se muestra a continuación:

Conclusión:

Este artículo trata sobre el uso de la ordenación por selección en C++ para ordenar una matriz en orden ascendente. Utilizamos las funciones personalizadas de intercambio, clasificación y visualización para desarrollar este concepto de manera más clara y en partes. Este artículo lo ayudará a aprender a clasificar por selección de manera más eficiente y efectiva. Esperamos que este artículo le haya resultado útil. Consulte los otros artículos de sugerencias de Linux para obtener más sugerencias y tutoriales.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba