【C++笔记】不通过中间变量实现变量值的互换(int型)
2016-07-13 00:42
302 查看
在交换两个变量的时候我们时常通过一个中间变量来实现两个值得互换。
在这里,我们实现整型变量在不通过中间变量的情况进行值得交换。
四则运算交换法:int main()
{
int a = 1, b = 2;
cout << "交换前:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
//四则运算交换
a = a + b;
b = 2 * b - a;//b-a
a = (a + b) / 2;
b = a - b;
cout << "交换后:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
<span style="white-space:pre"> </span>return 0;
}异或运算法:
int main()
{
int a = 1, b = 2;
cout << "交换前:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
//异或运算
a = a^b;
b = a^b;
a = a^b;
cout << "交换后:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
<span style="white-space:pre"> </span>return 0;
}
其结果均可以交换成功,具体的大家看下源码慢慢理解了。
在这里,我们实现整型变量在不通过中间变量的情况进行值得交换。
四则运算交换法:int main()
{
int a = 1, b = 2;
cout << "交换前:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
//四则运算交换
a = a + b;
b = 2 * b - a;//b-a
a = (a + b) / 2;
b = a - b;
cout << "交换后:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
<span style="white-space:pre"> </span>return 0;
}异或运算法:
int main()
{
int a = 1, b = 2;
cout << "交换前:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
//异或运算
a = a^b;
b = a^b;
a = a^b;
cout << "交换后:" << endl;
cout << "a = " << a << "\t" << "b = " << b << endl;
<span style="white-space:pre"> </span>return 0;
}
其结果均可以交换成功,具体的大家看下源码慢慢理解了。
相关文章推荐
- 结构体长度计算
- hdu-1016Prime Ring Problem(素数环 dfs)
- C语言指针的易错点
- 详谈C++虚函数表那回事(一般继承关系)
- 详谈C++虚函数表那回事(一般继承关系)
- c++小工具,运用于游戏中的多叉树
- 李洪强漫谈iOS开发[C语言-009] - C语言关键字
- c/c++的笔记(看到想记录的就添加)
- 设计模式之c++实现(一)
- 三个简单工厂实例 - C++实现
- C++及C语言字符串反转
- C++内存分布之虚函数和虚表
- C语言数据类型(二)——数据类型重要知识点
- C语言
- C语言数据类型(一)——基本知识点
- C语言学习-分支结构
- 1054. The Dominant Color (20)
- 迭代器模式-c++实现
- Ubuntu12.04升级C++11标准
- 【C++笔记】函数中参数传递