交换两个变量的值的多种方法
2016-11-21 22:41
239 查看
交换两个变量的值也可以算一个经典的问题了,下面给出了多种方式。
重点的话就理解前面三种,后面三种的话就YY,当然还有其他的方法,也没有必要再列举了。
代码:
/**
* 行有余力,则来刷题!
* 博客链接:http://blog.csdn.net/hurmishine
*
*/
#include <iostream>
#include <cstdio>
using namespace std;
void swap1(int *x,int *y)
{
int t=*x;
*x=*y;
*y=t;
}
void swap2(int &x,int &y)
{
int t=x;
x=y;
y=t;
}
void swap3(int &x,int &y)
{
x=x^y;
y=y^x;
x=x^y;
}
void swap4(int &x,int &y)
{
x=x+y;
y=x-y;
x=x-y;
}
void swap5(int &x,int &y)
{
//x=10,y=50
x=y-x;//x=50-10=40
y=y-x;//y=50-40=10
x=y+x;//x=10+40=50
}
void swap6(int &x,int &y)
{
x=x*y;
y=x/y;
x=x/y;
}
int main()
{
int x=10,y=50;
cout<<"x="<<x<<",y="<<y<<endl;
swap1(&x,&y);
cout<<"x="<<x<<",y="<<y<<endl;
swap2(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap3(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap4(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap5(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap6(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
return 0;
}
重点的话就理解前面三种,后面三种的话就YY,当然还有其他的方法,也没有必要再列举了。
代码:
/**
* 行有余力,则来刷题!
* 博客链接:http://blog.csdn.net/hurmishine
*
*/
#include <iostream>
#include <cstdio>
using namespace std;
void swap1(int *x,int *y)
{
int t=*x;
*x=*y;
*y=t;
}
void swap2(int &x,int &y)
{
int t=x;
x=y;
y=t;
}
void swap3(int &x,int &y)
{
x=x^y;
y=y^x;
x=x^y;
}
void swap4(int &x,int &y)
{
x=x+y;
y=x-y;
x=x-y;
}
void swap5(int &x,int &y)
{
//x=10,y=50
x=y-x;//x=50-10=40
y=y-x;//y=50-40=10
x=y+x;//x=10+40=50
}
void swap6(int &x,int &y)
{
x=x*y;
y=x/y;
x=x/y;
}
int main()
{
int x=10,y=50;
cout<<"x="<<x<<",y="<<y<<endl;
swap1(&x,&y);
cout<<"x="<<x<<",y="<<y<<endl;
swap2(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap3(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap4(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap5(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
swap6(x,y);
cout<<"x="<<x<<",y="<<y<<endl;
return 0;
}
相关文章推荐
- 请自己实现两个整数变量的交换(多种方法)
- 两个变量交换的多种方法(Java)
- 交换两个变量的多种方法
- C语言之多种方法交换两个变量的值
- 交换两个变量的值(多种方法)
- 两个变量的值交换的多种方法
- 交换两个变量中的值(三种方法)
- Java交换两个变量的值的三种方法
- 一种不使用中间变量交换两个变量的方法
- 不用第三个变量交换两个参数值得5种方法
- 算法竞赛_交换两个变量(3种方法)
- 〔面试题〕无需额外变量交换两个变量的方法
- 笔试面试题二:Java中交换两个变量的值,你能想到几种方法?
- 不使用第三方变量交换两个变量值的三种方法
- 交换两个变量的三种方法
- 求砖拍:绝对深入剖析各种方法实现两个变量的交换
- 用传地址方法交换两个变量的值
- 不用中间变量,交换两个变量的值的方法
- 如何通过方法调用交换两个变量的值
- 【陷阱】你能用几种方法交换两个变量的值?