Thursday, April 17, 2008

Technique for Swapping Two Integers Without Using a Temporary variable

There's another version of this solution that applies to integral values only.
void swap(int& i, int& j)
{
i ^= j;
j ^= i;
i ^= j;
}// i and j are swapped
You can apply this technique to any integral type, e.g., char, short, unsigned long, but not to floating-point variables.

No comments: