Sintaxis:
plantilla < class T > Swap void (T & Variable_1, T & Variable_2);Tanto el valor de la primera variable como la segunda variable, los cuales los valores del almacén, deben intercambiarse. La función simplemente cambia los valores de las variables; no tiene salida."
Función de trabajo de swap () en c++
La función de intercambio se implementa en C ++ utilizando las siguientes tres líneas.
Plantilla void swap (t & i, t & j)La declaración "t temp = std :: Move (i)"; Hace una copia del elemento "I" y la duplica. Aquí, "i = std :: mover (j)"; Descarte los elementos originales de "I" y almacena la copia "I" de "J" en lugar de la "J" original. La fórmula "J = std :: Move (temp)"; Guardar "i" con un clon de temperatura y eliminar el contenido idéntico de la temperatura. Además, elimine la variable TEMP después de que se complete la ejecución de la función swap ().
Ejemplo 1: Programa usando el método STD :: Mover para intercambiar
Como se demuestra a continuación, podemos intercambiar dos objetos utilizando la función C ++ 11 Std :: Move.
#incluirTenemos una declaración de plantilla que tiene un objeto "t". Después de eso, hemos establecido la función como "intercambio". La función toma los dos parámetros & A y B, del tipo "t". Como resultado de los argumentos T&A, T&B referenciando o almacenando la dirección de la variable aprobada y aplicando directamente a ellos sin devolver, la función Swap (T&A, T&B) se llama llamada por referencia.
Dentro del intercambio vacío, hemos aplicado el algoritmo de intercambio usando el método STD :: Move. Luego, construimos el programa principal. Aquí, hemos declarado la variable "lista" y la hemos inicializado con la lista de valores numéricos. Hemos establecido los valores para "I" y "J" para intercambiar. El valor numérico ubicado en el segundo índice se reemplazó con el valor numérico en el quinto índice. Luego, llamamos a la función de intercambio y le pasamos los índices "I" y "J" para intercambiar. El bucle for se utiliza para imprimir la lista intercambiada.
La salida mostró la lista modificada. Puede observar la nueva lista generada cambió el valor de acuerdo con los índices especificados.
Ejemplo 2: Programa usando el método STD :: Swap para intercambiar
Utilizar el mecanismo STD :: Swap que se encuentra en el encabezado de utilidad (en C ++ 11) es la solución habitual. Los valores de dos objetos se cambian para que funcione.
#incluirAl importar el archivo de encabezado, podemos acceder a la función de intercambio en nuestro programa. Aquí, hemos incluido el archivo de encabezado con dos bibliotecas más importantes. Luego, hemos establecido el método principal int principal. Dentro del programa principal del programa, hemos declarado el vector creando la variable "ARR."La variable" arr "se inicializa con los cinco elementos del entero. Las posiciones de índice se asignan a "I" y "J" para intercambiar. Las variables "i" y "j" se pasan al método std :: swap para el intercambio del valor del índice especificado. Con el bucle for, hemos impreso las matrices intercambiadas.
La lista obtenida después de la operación de intercambio utilizando el método STD :: Swap se muestra de la siguiente manera:
Ejemplo 3: Programa usando el método STD :: ITER_SWAP para intercambiar
Uso del algoritmo std :: iter_swap, que se enumera en el encabezado para el algoritmo, es una opción adicional. La forma en que funciona es cambiando los valores de los objetos a los que apuntan los iteradores proporcionados.
#incluirAl método principal del programa, hemos declarado una variable vectorial "VEC" y le ha asignado una lista vectorial de números. Luego, especificamos la posición de índice a la variable "I" y "J". Se invoca el método std :: iter_swap que toma el iter1 y iter2 como argumento. ITER1 e ITER2 se declaran con la palabra clave automática y tienen la operación de iteración. El método For Loop imprime los valores intercambiados de la matriz vectorial tras la ejecución.
El método std :: iter_swap cambió con éxito los valores de los vectores especificados.
Ejemplo 4: programa de uso sin variables temporales para intercambiar
Este ejemplo muestra una nueva forma de intercambiar números en el código C ++ sin el uso de variables temporales.
#incluirExaminemos la operación de este programa. Aquí, hemos declarado X1 y X2, que inicialmente se establecen con el número, respectivamente. Luego, usando la fórmula x1 = x1+ x2, agregamos x1 y x2 y ponemos el resultado en x1. Esto indica que X1 es igual a 2 más 12. Por lo tanto, ahora es igual a 14. Luego, aplicamos la fórmula x2 = x1 - x2. Esto indica que x2 = 14 - 12. Por lo tanto, X2 ahora es igual a 2. Una vez más, aplicamos la fórmula x1 = x1 - x2. Esto indica que x1 = 14 - 2. Por lo tanto, x1 = 12 al final. Como resultado, los números se han cambiado.
El número cambiado antes y después se muestra en la siguiente pantalla de aviso.
Conclusión
Aquí, repasamos una descripción completa de swap () en c ++, su uso y algunos ejemplos que muestran cómo funciona. Al usar la función std :: swap (), se pueden cambiar los valores de dos variables. El C ++ STL incluye una función incorporada llamada std :: swap (). Las llamadas de función Swap (T & Variable 1, T & Variable 2) por referencia, y el Swap () de C ++ Swap () dependiendo del tipo de variables de datos también se explican en este tutorial.