交换两值的三种方法

第一种,最简单最直观的方法

int a=8, b=2; 
int temp = a;
a = b;
b = a;

第二种,因为比第一种少用了一个变量所以效率更高一点

int a=8, b=2;
a = a + b;
b = a - b;
a = a - b;

第三种,比第二种效率更高,利用位运算nmm = n的性质

int a=8, b=2;
a = a ^ b;
b = a ^ b;
a = a ^ b;

第四种:

int a = 10;
int b = 20;
a ^= b ^= a ^= b;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,789评论 0 33
  • 一、实验目的 学习使用 weka 中的常用分类器,完成数据分类任务。 二、实验内容 了解 weka 中 explo...
    yigoh阅读 8,670评论 5 4
  • 双十一狂欢节,大概是因为没有买东西,没有剁手,所以并不知道到底有多么狂欢,只能通过新闻上天猫的交易额来感受狂欢的气...
    贺嘉禾阅读 393评论 0 0