Xor Swap: scambiare il valore di due variabili senza variabile d'appoggio

Evidentemente non ho niente di meglio da fare nel giorno di natale. 🙂 Vediamo un po' a cosa serve questo algoritmo. Se avete un po' di basi di programmazione sapreste che scambiare il valore contenuto in due variabili è un operazione comunissima. Il modo più semplice per effettuare questa operazione è di usare una variabile d'appoggio per contenere uno dei due valori e poi fare lo scambio. [crayon-5d85b836f253c931504227/] Direi quasi banale, no? Senonché questo modo prevede la creazione di una variabile temporanea. Esiste tuttavia un algoritmo che fa lo stesso lavoro e non richiede nessuna variabile temporanea. Sto parlando dello Xor Swap, il nome deriva appunto da scambio con OR esclusive ( operazione bit a bit XOR ). Vediamo l'algoritmo: [crayon-5d85b836f2544591885138/] Il bello di questo algoritmo è l'efficienza e la facilità nel ricordarlo. Vediamone un'implementazione in Java ed in C. [crayon-5d85b836f2547096768718/] [crayon-5d85b836f2549092644787/]

Continua a leggere >>>

Site Footer