两种实现数据交换的宏定义

#define swap(x,y) {int temp=x;x=y;y=temp;}
//换行写法
#define swap(x, y)\
int temp = x;\
x = y;\
y = temp;


#define swap(x,y)  {x= x+y;y=x-y;x=x-y;}
//换行写法
#define swap(x,y)\
x=x+y;\
y=x-y;\

x=x-y;\


通过按位异或运算,可以实现两个值的交换,而不必使用临时变量

void swap(int &a,int &b)
{
    a=a^b;
    b=a^b;
    a=a^b;

}


posted on 2009-09-28 10:38  Hibernate4  阅读(264)  评论(0)    收藏  举报

导航