不使用第三变量交换两个数值型数据

原创 2007年10月07日 14:59:00






1. 适合于各种编程语言:
   void swap(int &a, int &b)
   {
       a = a + b;
       b = a - b;
       a = a - b;

   }

   or

   void swap(int &a, int &b)
   {
       a ^= b;
       b ^= a;
       a ^= b;
   }

2. 适合于 C#:
   void swap(int &a, int &b)
   {
       a = b + (b = a) * 0;
   }

交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特...
  • KangKermit
  • KangKermit
  • 2014年03月17日 09:32
  • 35357

不用第三个变量交换两个变量的值的几种方法

第一次写Blog,心中有些激动o(∩_∩)o 。先在这儿为自己加加油~虽说只是些很简单的小程序,但是我希望自己能够一直坚持下去——做最好的自己,我能!     学过编程的人都知道,在交换两个变量的值时...
  • u011433274
  • u011433274
  • 2013年11月13日 00:21
  • 3810

C++ - 两数交换, 不引入第三个变量

两数交换, 不引入第三个变量   两种方法, 推荐第一种方法; 第一种方法(加减): a = a+b; b = a-b; a = a-b; 第二中方法(异或): a = a^b; b=a^b; a=a...
  • u012515223
  • u012515223
  • 2013年11月12日 18:51
  • 3344

实现两个变量的互换(不借助第三个变量)

变量的互换常见于数组排序算法中,当判断两个数组元素需要互换时,将创建一个临时变量来共同完成互换,临时变量的创建增加了系统资源的消耗,如果需要互换的是两个整型类型的变量,那么可以使用更高效的方法。  ...
  • u014482758
  • u014482758
  • 2016年02月15日 20:38
  • 660

交换两个数(不引入第三个变量)

 前几天去面试,结果碰到这道题目,还着实给没想到,以前也见过这道题目,但那时就是想不起来,难道真是脑子不够用了。 后来回来查了一下,觉得这道题目虽然简单,但有时碰到真的就傻眼了。 所以写下来。publ...
  • zhtsuc
  • zhtsuc
  • 2009年11月08日 21:10
  • 3554

不用第三个变量,直接交换两个变量的值

记得曾经看过不用引进第三个变量而直接变换两个变量的值的例子。见过的两种方法如下: 方法一: var a=1; var b=2; a=a+b; b=a-b; a=a-b; 输出a,b可以发...
  • YEYUANGEN
  • YEYUANGEN
  • 2014年03月19日 11:00
  • 1950

JAVA不使用第三个变量,交换两个变量的值

我们先看看使用第三个变量的方法。public class Swap{ public static void main(String[] args){ int a = 3; ...
  • xyphf
  • xyphf
  • 2017年09月12日 00:03
  • 314

不用额外变量交换两个整数的值

不用额外变量交换两个整数的值 【题目】   如何不用任何额外变量交换两个整数的值? 【解答】   使用位运算的异或运算,或者使用加法运算   a异或b的结果是c,那么c就是a整数位信息和b整数位信息的...
  • u010456903
  • u010456903
  • 2015年10月04日 23:01
  • 1136

JAVA不借助第三个变量实现两个变量交换的思考

网上存在三种方法:   1) 算术运算 简单来说,就是通过+和-运算来实现。代码如下: int a,b; a=10;b=12; a=b-a;   //a=2;b=12 b=b-a; ...
  • sinolzeng
  • sinolzeng
  • 2014年12月15日 17:38
  • 1320

不占用任何额外空间的情况下交换两个数的值

问题: 给你两个整数,比如 a = 10, b = 20,在不占用任何额外空间的条件下交换两个数的值。 思路: 首先,问题看起来是挺不可思议,但是也是挺有趣的。既然不能占用任何空间,只能在已有的...
  • beiyeqingteng
  • beiyeqingteng
  • 2011年12月27日 13:25
  • 2560
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不使用第三变量交换两个数值型数据
举报原因:
原因补充:

(最多只允许输入30个字)