Hvordan Switch verdiene av to variabler uten å bruke en midlertidig variabel

Hvordan Switch verdiene av to variabler uten å bruke en midlertidig variabel


I programmering, er det mange ganger at du trenger å bytte to variable verdier (for eksempel i en boble Sort). De fleste vil vise deg hvordan du gjør det med tre variabler og bruke sløsende operasjoner, men jeg kan vise deg hvordan du gjør det med to ... EFFEKTIVT!

Bruksanvisning

1 Hvordan Switch verdiene av to variabler uten å bruke en midlertidig variabel

Forståelse XOR:

XOR eller Exclusive-Or, er lik den brukte INKLUDERENDE-Eller, bortsett fra at hvis begge innganger er en, er det utgang 0 (i motsetning til INKLUDERENDE-Eller hvor verdien er 1).

Dette løser dette tilfellet hvor vi pleier å gjøre noe sånt som:

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

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

2 Nå, magi:

En trippel XOR utført på to variabler vil SLÅ DEM !!!

Så, i C #:

int II1 = 1;
int II2 = 2;

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

Variablene har nå blitt byttet uten å bruke en midlertidig variabel!