直接交换数据
来源:互联网 发布:淘宝菲艺轩怎么样 编辑:程序博客网 时间:2024/04/30 18:42
问题:
不借助第三个变量,两个变量直接进行数据交换。
代码:
template<typename _ty>void swap_ (_ty& a, _ty& b) { //#if 1 a = a + b; b = a - b; a = a - b;#else // a = a ^ b; b = a ^ b; a = a ^ b;#endif}
调用演示:
int main() { // std::cout << __FILE__ << std::endl; // int i0 = 5, i1 = 6; float f0 = 3.2, f1 = -1.8; // std::cout << "swap before:" << i0 << ", " << i1 << std::endl; swap_<int> (i0, i1); std::cout << "swap after:" << i0 << ", " << i1 << std::endl; // std::cout << "swap before:" << f0 << ", " << f1 << std::endl; swap_<float> (f0, f1); std::cout << "swap after:" << f0 << ", " << f1 << std::endl; return 0;}
结果:
d:\mylaf\project\vs2013\project_code\testvirtualinputv2\mainvirtualinputv2.ccswap before:5, 6swap after:6, 5swap before:3.2, -1.8swap after:-1.8, 3.2
扩展:
复杂类型的的直接数据交换。
1 0
- 直接交换数据
- 可与PSP直接数据交换的硬盘盒登场!
- 直接交换两个数
- 直接交换排序
- 排序算法之直接选择排序(内附交换两个数据交换的正确实现方法)
- 数据交换
- 交换数据
- 数据交换
- 数据交换
- 交换数据
- 数据交换
- 数据交换
- 交换数据
- 数据交换
- 数据交换
- BizTalk Server 基于消息的基本数据交换(一) - 发送端口直接订阅接收端口
- 直接选择排序及交换二个数据的正确实现
- 直接选择排序及交换二个数据的正确实现
- JXLS使用方法(文件上传读取)xlsx文件读取
- 傅里叶变换
- Reveal2通过lldb调试的方法
- 缓存雪崩,缓存穿透解决方案
- 监听EditText输入框内输入内容的变化
- 直接交换数据
- Linux源码中的mktime算法解析
- runtime消息发送
- jsonp 关于跨域
- css 3 基础选择器。
- linux下讲解MySQL安装与登录方法
- 深圳非招人企业的 培训机构---各大应届生留意
- CCF 压缩编码(石子合并问题)
- java----MD5加密