交换两个元素
来源:互联网 发布:java jdk1.8 32位 编辑:程序博客网 时间:2024/05/18 03:34
交换元素的代码一般有三种:
1.中间变量过渡。
template <class T> void Swap(T& a, T& b) { T temp = a; a = b; b = temp;}
2.减法运算。
template <class T> void Swap(T& a, T& b) {a = a - b;b = a + b;a = b - a;}
3.异或运算。
template <class T> void Swap(T& a, T& b) {if (&a == &b){return;}a ^= b ^= a ^= b;}
异或代码中有一个盲点:如果不加 &a == &b 的判断,那么,该函数不能交换同一个地址上的值,否则,会将a b置0。
这个需要记一下。
- 交换两个元素
- 两个元素内容的交换
- 交换两个数组中的元素
- 不使用中间变量交换两个元素
- Vector中两个元素值的交换
- 交换a,b两个元素的值
- 一条语句交换两个元素的值
- 一条语句交换两个元素值
- 交换元素使两个数组相同
- 交换两个兄弟元素的位置
- 【算法题】交换单链表任意两个元素
- 两个元素交换,粗心导致的BUG!!!
- Python中交换两个元素的方法
- 用Java交换两个元素的swap函数
- 单链表交换任意两个元素(不包括表头)
- 【学习点滴-数据结构-单链表】交换单链表中任意两个元素
- 7,单链表交换任意两个元素(不包括表头)
- 交换两个元素的值,不用临时变量
- URAL 1056(树形DP)
- 《算法竞赛-训练指南》-第三章-Trie
- NuGet学习笔记(2)——使用图形化界面打包自己的类库
- ZOJ 3689
- .net wcf 返回DataTable 调用 ”基础连接已经关闭: 连接被意外关闭“
- 交换两个元素
- C#Ldap查找用户信息
- FFmpeg 移植到 Android 平台
- iOS 实现杨辉三角
- 行人检测(haar+adaboost 与 hog+SVM)
- android hide
- quilt
- 一套通用Ajax框架 .
- IO:文件过滤器的使用