交换两个变量的三种方法
来源:互联网 发布:网络安全工程师专业 编辑:程序博客网 时间:2024/05/01 12:25
大家比较常用的是借助第三个变量来进行交换,代码如下:
void swap(int& a,int& b)
{
int temp = a;
a = b;
b = temp;
}
上述代码G++编译通过,GCC通不了,不懂。
第二种是通过加减法来实现;代码:
#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; \
}
以上几种方法都有优缺点。第一种比较简单,大部分人都能想到,但是占用了较多的数据空间。第二种利用了加减法的特性,缺点是加法时容易造成溢出。第三种利用了异或的性质,不会像第二种会发生溢出。
- 交换两个变量的三种方法
- 两个变量交换的三种方法
- Java交换两个变量的值的三种方法
- 两个变量交换值的三种方法
- 交换两个变量的值(三种方法)
- 交换两个变量的三种方式
- 两个变量交换的几种方法
- 零基础学C语言 笔记三 三种方法交换两个变量的值
- 交换两个变量中的值(三种方法)
- 交换两个数的三种方法
- 两个数交换的三种方法
- 交换两个值的三种方法
- 交换两个数的三种方法
- 交换两个数的三种方法
- 交换两个整数的三种方法
- 交换两个数据的三种方法
- 交换两个数的三种方法
- 两个数交换的三种方法
- Hdu acm 3095
- 中文分词算法的初步研究
- c++<map>容器的方法
- 用动态加载的方式使用未注册的Filter
- Poj_1005_I Think I Need A HouseBoat
- 交换两个变量的三种方法
- Java学习:不走弯路,就是捷径
- 跳跃表
- 安装impacket
- Book Pile sgu271
- 如何下载coursera视频
- ubuntu root密码
- 镜像文件
- Book 书架 Zjoi2006