当前位置: 首页 > news >正文

交换两个元素值得高效写法!受用!

{ a ^= b; b ^= a; a ^= b; }

今天突然看到这么一段代码,"^"操作符没怎么用过,查阅之后,发现时异或,推敲之后原来这段代码的意思是交换a,b元素的值。
我想大多数人写交换两元素值都会这么写:

{ int temp = a; a = b; b = temp; }

看到区别了吧,第一种写法不但不会引进一个变量,而且执行速度肯定比下面的快。非常长见识啊!受用!
对了,至于异或运算就不解释了,百度吧。

相关文章:

  • 【python中调用shell命令使用PIPE】使用PIPE作为stdout出现假卡死的情况——将stdout重定向为输出到临时文件...
  • MDCC印象之一:移动时代来临
  • Python3 面向对象(1)
  • 关于采用业务用例视图来展示、归纳、整理业务用例的三点指导原则
  • 完成登录功能,用session记住用户名
  • 英语(1)——8种时态
  • javaweb入门(使用SQLserver2008 R2数据库)
  • 杯具的rm 99*
  • grant 权限 on 数据库对象 to 用户
  • 建立类似复合主键的唯一约束, 建立前查找违反多列唯一约束的记录
  • centos 7.2部署cloudstack4.9 ceph0.94
  • FireFox 7/8 上传前预览图片
  • sqoop: mysql to hive
  • 六、CentOS 6.5 下Nginx的配置
  • JS判断浏览器类型及版本
  • 2017年终总结、随想
  • 4个实用的微服务测试策略
  • Android Studio:GIT提交项目到远程仓库
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • js学习笔记
  • MySQL-事务管理(基础)
  • React16时代,该用什么姿势写 React ?
  • spark本地环境的搭建到运行第一个spark程序
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 不上全站https的网站你们就等着被恶心死吧
  • 当SetTimeout遇到了字符串
  • - 概述 - 《设计模式(极简c++版)》
  • 后端_MYSQL
  • 机器学习 vs. 深度学习
  • 巧用 TypeScript (一)
  • 设计模式走一遍---观察者模式
  • 我感觉这是史上最牛的防sql注入方法类
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 第二十章:异步和文件I/O.(二十三)
  • ​香农与信息论三大定律
  • "无招胜有招"nbsp;史上最全的互…
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (done) 两个矩阵 “相似” 是什么意思?
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原)Matlab的svmtrain和svmclassify
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .chm格式文件如何阅读
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .Net MVC + EF搭建学生管理系统
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 设置默认首页
  • .net 验证控件和javaScript的冲突问题
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • ::
  • @GlobalLock注解作用与原理解析
  • [20190113]四校联考
  • [AIGC] 使用Curl进行网络请求的常见用法