http://www.nowamagic.net/academy/detail/40110208
void swap(int *x, int *y) { int t; t=*x; *x=*y; *y=t; }
如果再加个限制,不使用额外的变量,可以这样:
void swap(int *x,int *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; }