Encyclopedia > Xor swap algorithm

  Article Content

Xor swap algorithm

Xor swap is a simple algorithm which uses the Exclusive disjunction (XOR) operation to swap the values of two variables without using an extra variable. This algorithm follows (where X and Y are the names of two variables, rather than two values):

  1. XOR the values of X and Y and store the result in X
  2. XOR the values of X and Y and store the result in Y
  3. XOR the values of X and Y and store the result in X

To see how this works, call the initial value of X = x0 and the initial value of Y = y0. Then:

  • after step 1, X = x0 XOR y0, Y = y0
  • after step 2, X = x0 XOR y0, Y = x0 XOR y0 XOR y0 = x0
  • after step 3, X = x0 XOR y0 XOR x0 = y0, Y = x0

This algorithm varies from other swap algorithms only in that it doesn't need to store the original value of X in a temporary buffer prior to overwriting it and doesn't need to restore this value in Y.

See: Assembler code, Visual Basic code, C code



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Rameses

... II ("The Great") Ramses III Ramses IV[?] The name means "Child of the Sun". This is a disambiguation page; that is, one that just points to other pages that might ...

 
 
 
This page was created in 24.7 ms