@Don: This can be easily fixed, as there is no need to swap equal values, 
so:
 
void swap(int &a, int &b)
{
    if( a != b )
    {
        a ^= b;
        b ^= a;
        a ^= b;
    }
}

On Monday, November 5, 2012 10:41:42 AM UTC-6, Don wrote:

> Note that most of these methods fail if you try to swap an item with 
> itself. void swap(int &a, int&b)
> {
> a ^= b;
> b ^= a;
> a ^= b;
> }
>
>
> For example, swap(a[i], a[j]) will fail if i==j and swap is 
> implemented as 
>
>
> Don 
>
> On Nov 4, 3:32 pm, manish <narayan.shiv...@gmail.com> wrote: 
> > Swapping two objects (not integers/chars),without using temp...? 
> > my solution is using xor operation..is that right and ny other solutions 
> ? 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/algogeeks/-/2QXdGv1P-iMJ.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to