标签:
对于任意向量α,有α^α=0,利用此属性可做无中介变量值交换:
void noTempSwap(int *x, int *y){ *y=*x^*y;// *y = *x^*y *x=*x^*y;//*x = *x^*x^*y = *y *y=*x^*y; //*y = *y^*x^*y = *x }
注意:这种做法并无性能上的提升,仅仅是一种智力上的游戏。
trick1:数组元素对调
没有中间变量,对调数组中首尾元素顺序。
void reverse_Array(int *a, int count){ int first, last; for (first=0,last=count-1;first<last;first++,last--;){ noTempSwap(&a[first],&a[last]); } }
标签:
原文地址:http://www.cnblogs.com/wangjunyan/p/5153479.html