博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言swap(a,b)值交换的4种实现方法
阅读量:4050 次
发布时间:2019-05-25

本文共 658 字,大约阅读时间需要 2 分钟。

转载原文地址:

平常swap(a,b)值交换,我们基本都是使用第一种方法,对于数学较好的人,可能会想到第二种方法,想到时,一定感觉很好,。对于汇编或对位有理解的人,可能会想到第三种方法,这个方法很妙。但,真正促使我写这篇文章的,还是第四种方法,妙,真的很妙,先(b = a),我是真没想到,我想,这么好的东西,尽管简单,但值得发表,以此共享。

void swap(int &a, int &b)  {      //方法一:       int tmp = 0;      tmp = b;      b = a;      a = tmp;      //方法二:       //a = a+b;       //b = a-b;       //a = a -b;       //方法三:       //a ^= b ^= a ^= b;       //方法四:       //a = a+b-(b=a);   }  int main(void)  {      int a = 3;      int b = 4;      printf("before swap: a = %d, b = %d\n", a, b);      swap(a, b);      printf("after swap: a = %d, b = %d\n", a, b);      return 0;  }

结果:

before swap: a = 3, b = 4
after swap: a = 4, b = 3

你可能感兴趣的文章
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++模板与泛型编程
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
android 代码实现圆角
查看>>
flutter-解析json
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>