Tecnología

Inicio

Cómo cambiar los valores de dos variables sin utilizar una variable temporal

Cómo cambiar los valores de dos variables sin utilizar una variable temporal


En la programación, hay muchas veces que usted necesita para cambiar los valores de dos variables (como en una burbuja Ordenar). La mayoría de la gente se mostrará cómo lo hace con tres variables y el uso de las operaciones de despilfarro, pero puedo mostrar cómo lo hace con dos ... EFICIENTEMENTE!

Instrucciones

1 Cómo cambiar los valores de dos variables sin utilizar una variable temporal

Comprensión XOR:

O XOR O-exclusiva, es similar a la INCLUSIVE-O de uso común, excepto que si ambas entradas son 1, la salida es 0 (en oposición a INCLUSIVE-O, donde el valor es 1).

Esto se refiere a este caso en el que normalmente hacemos algo como:

int II1 = 1;
int II2 = 2;
int tmp;

tmp = II1;
II1 = II2;
II2 = tmp;

2 Ahora, la magia:

Un triple de XOR realizada en dos variables cambiará ELLOS !!!

Así, en C #:

int II1 = 1;
int II2 = 2;

II1 ^ = II2;
II2 ^ = II1;
II1 ^ = II2;

Las variables han sido cambiados sin necesidad de utilizar una variable temporal!