博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
交换两个变量值的方法汇总
阅读量:5278 次
发布时间:2019-06-14

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

     今天写快排的时候,突然想到我们到底可以用多少种方法来实现交换两个变量的值呢。然后就搜了下,总结出了如下几种,亲测都可以运行。但我用的是交换两个数组元素的值,那么如果当两个元素相等时,前两种方法是不能正确交换,而是得到0.具体原因现在我还不是很清楚。比较推荐的还是地三种和最后一种方法。

#define SWAP(a,b) {a = a^b; b = a^b; a= a^b;}#define SWAP(a,b) {a = a + b; b = a - b; a= a - b;}#define SWAP(a,b) {typeof(a) t = a; a = b; b = t;}#define SWAP(type,a,b) {type t = a; a = b; b = t;}void Swap(int *a, int *b){    int tmp;    tmp = *a;    *a = *b;    *b = tmp;}

 

转载于:https://www.cnblogs.com/Jason-Damon/p/3640331.html

你可能感兴趣的文章
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
线程池的概念
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>