异或运算
2016-01-23 16:04
183 查看
对于任意向量α,有α^α=0,利用此属性可做无中介变量值交换:
注意:这种做法并无性能上的提升,仅仅是一种智力上的游戏。
trick1:数组元素对调
没有中间变量,对调数组中首尾元素顺序。
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]); } }
相关文章推荐
- Android中的页面切换动画
- 大数据(十五) - JStorm
- eclipse 创建 javaWeb 项目 如何 配置 tomcat
- W3School-CSS 伪元素 (Pseudo-elements) 实例
- awk依照多个分隔符进行切割
- torch学习资料
- hdu-1558-Segment set(计算几何&并查集)
- AngularJS展示数据的ng-bind指令和{{}} 区别
- Visual C++在虚继承中使用协变报错
- Spring-web源码解析之MediaTypeFileExtensionResolver
- @Deprecated注解
- 通过BaseHolder的方式展示数据
- C# 获取当前目录上一级目录
- 合并果子(贪心+优先队列)
- android之ListView上拉加载更多和下拉刷新
- Educational Codeforces Round 6 C. Pearls in a Row
- 设计模式学习笔记—组合模式
- Ubuntu学习记录、遇到的问题以及解决办法
- Mysql安装
- 蓝桥杯 算法提高 快乐司机 (贪心)