¿Qué es un intercambio estándar?

En la programación de computadoras y la informática, un intercambio estándar es una situación en un programa en el que dos variables deben intercambiar sus valores, lo que requiere la creación de una tercera variable para actuar como intermediario cuando se transfieren los valores. Un intercambio estándar es un paradigma de programación, lo que significa que se puede aplicar a cualquier situación en la que se necesiten dos datos de datos, y no está vinculado a ningún tipo de datos o lenguaje de programación. Hay muchas instancias en programas en los que se deben intercambiar valores, pero a menudo es un componente estándar en colecciones y matrices cuando se usa con algoritmos de clasificación que deben mover elementos de un índice en la colección a otra, utilizando una variable temporal para mantener el valor que se intercambia. Desde una perspectiva de hardware, un intercambio estándar puede ser una función de procesador de bajo nivel compatible para algunos tipos de datos escalares, como enteros, lo que significa que el valor intermediario no es necesario crear en la memoria de acceso aleatorio (RAM) para intercambiar dos números.

El concepto de un intercambio estándar se puede ver con las variables A y B; Al final de un intercambio estándar, B debe ser igual a A, y A debería ser igual B. Si un programa simplemente asigna B a A, entonces el valor de A se perderá y no se puede asignar a B. Esto requiere el uso de una variable temporal que contendrá el valor de A mientras se asigna a A. El paso final es asignar el valor de la variable temporal a B, completar el swap.

Una aplicación muy común para un intercambio estándar es cuando se usa un algoritmo de clasificación en una matriz o colección. Si un algoritmo de clasificación ha determinado que los datos en el índice de matriz 1 deben cambiarse con los datos en el índice 10, entonces se puede realizar un intercambio estándar de los datos. Esto se puede hacer excepcionalmente rápido utilizando referencias de puntero en idiomas como c.

puede ocurrir una complicación en algunos lenguajes de programación orientados a objetos cuando dos instancias de objetos necesitanser intercambiado. En algunos casos muy raros, simplemente intercambiar las referencias del objeto no iniciará un intercambio real. En cambio, la única forma de intercambiar los objetos es clonar los datos internos, campo por campo, entre los dos objetos y la variable de objeto temporal.

Hay una técnica que técnicamente se puede utilizar para realizar un intercambio estándar utilizando el operador lógico exclusivo o (XOR). Un Swap XOR se basa en el hecho de que, cuando se calculan dos bits con XOR, esencialmente crearán una máscara que se pueda revertir con uno o ambos operadores. De esta manera, dos variables, A y B, se pueden cambiar primero creando una máscara con un XOR de las dos variables, luego utilizando XOR para desenmascarar primero el valor para B y luego el valor para A. Desafortunadamente, aunque este método evita la creación de una variable temporal, tampoco será un intercambio en todos los casos, específicamente cuando A y B están igual a cada otro y en las cajas de la compilación de la compilación.

OTROS IDIOMAS