交换变量的三种方法及简单分析
2014-10-20 12:44
148 查看
交换两个变量的思路主要有两种:借助或不借助暂时变量。详细操作时又有下面三种简单算法:
1、借助暂时变量的算法
2、不借助暂时变量的算法1(通过加减运算)
3、不借助暂时变量的算法2(通过异或运算)
1、借助暂时变量的算法
#include <stdio.h> int main(void) { int a, b, t; scanf("%d%d", &a, &b); t = a; a = b; b = t; printf("a = %d, b = %d\n", a, b); return 0; }
2、不借助暂时变量的算法1(通过加减运算)
#include <stdio.h> int main(void) { int a, b; scanf("%d%d", &a, &b); a = a + b; b = a - b; a = a - b; printf("a = %d, b = %d\n", a, b); return 0; }
3、不借助暂时变量的算法2(通过异或运算)
#include <stdio.h> int main(void) { int a, b; scanf("%d%d", &a, &b); a = a ^ b; b = b ^ a; a = a ^ b; printf("a = %d, b = %d\n", a, b); return 0; }总结:平时使用时,借助暂时变量的算法已经足够好了。不借助暂时变量的算法1和2看起来非常好(少用一个变量),实际上非常少用,由于它的适用范围非常窄:仅仅有定义了加减法或异或的数据类型才干这么做,这两个算法仅仅是用于提高阅读代码的能力。
相关文章推荐
- 交换两个数字,不借助于第三个变量的三种简单的方法。
- Java交换两个变量的值的三种方法
- 简单算法 - 交换两个整数的三种方法
- 三种简单的变量交换
- 三种在 Linux 上创建或扩展交换分区的简单方法
- iOS RunTime交换方法和给变量赋值的简单使用
- C/C++三种交换变量的方法
- 黑马程序员:交换变量的三种方法
- 三种方法实现不引入变量交换两个变量值
- 零基础学C语言 笔记三 三种方法交换两个变量的值
- 三种在 Linux 上创建或扩展交换分区的简单方法
- Java--交换两个变量的值的三种方法:借助中间量交换,数值相加减交换,位移运算交换
- 交换变量三种方法
- 交换两个变量的三种方法
- 交换两个变量的值的方法-----从简单问题入手
- 交换两个变量的(六种)方法分析
- 不使用第三方变量交换两个变量值的三种方法
- 玩玩小技巧(1)_三种方法不使用临时变量交换两个数的值
- 两个变量a,b 交换其数值的三种方法
- JAVA_三种方法实现两个整形变量的数值交换