交换两个变量以及不使用第三个变量

int n1 = 10,n2 = 20;

tmp = n1;

n1 = n2;

n2 = tmp;

n1 = n1+n2;

n2 = n1-n2;

n1 = n1-n2;

n2 = n1+(n1+n2) ) * 0;

时间: 2024-08-02 11:00:31

交换两个变量以及不使用第三个变量的相关文章

交换两个变量以及不用第三个变量交换两个变量

这个可能网上一搜一大把一大把的,可是今天我看到了一个新的写法,所以就写这篇文章记录一下,不不知道百度有没有,没去搜索! 方法1:这是最简单,也是最常用的一个方法! int n1 = 10, n2 = 20; int tmp = n1; n1 = n2; n2 = tmp; Console.WriteLine("n1={0},n2={1}", n1, n2); Console.ReadKey(); 方法2:算术运算 //交换两个变量,不使用第三个变量 int n1 = 10, n2 =

C#交换两个变量值的多种写法

在学习.Net/C#或者任何一门面向对象语言的初期,大家都写过交换两个变量值,通常是通过临时变量来实现.本篇使用多种方式实现两个变量值的交换. 假设int x =1; int y = 2;现在交换两个变量的值. 使用临时变量实现 static void Main(string[] args) { int x = 1; int y = 2; Console.WriteLine("x={0},y={1}",x, y); int temp = x; x = y; y = temp; Cons

算法学习 - 不申请第三个数交换两个整数的值

交换两个数 正常情况我们需要多申请一个变量来交换两个数的值(假设变量为a, b).例子如下: int temp = a; a = b; b = temp; 这样子就可以了.但这终究是一种需要申请临时变量的方法,总要去想想临时变量的名字.下面主要介绍两种方法. 直接运算 这种办法简单明了,也是我最喜欢使用的办法,因为即使是浮点型也可以用这种办法,继续假设两个变量是a和b. a = a+b; b = a - b; a = a - b; 这样就交换了!是不是很简单.一下没懂的可以找个例子去试试. 逻辑

如何不利用一个额外的变量来达到交换两个变量值的目的-------位上的异或运算

问题:一般我们要交换两个变量的值,多会采取一个额外变量来实现,比如temp=a,a=b,b=temp,现在我们能不利用temp来实现交换a,b两个变量值的目的吗? 解决方案:^异或运算符,而且我们会发现a^a=0,还有0^a=a,依据这两条理论,我们可以实现之前提出的问题. 代码如下: #include<stdio.h>void inplace_swap(int * x,int * y){    *y=*x^*y;    *x=*x^*y;    *y=*y^*x;}int main(){  

java(引入一个中间变量,不引入中间变量)交换两个变量的值

一.描述 在不引入其它变量的情况下交换两个数,引入一个变量做中介,交换两个数的值. 二.源代码 <span style="font-size:18px;">package tong.yue.sort; public class SwapTwoValues { /** * @param args */ public static void main(String[] args) { int a = 10,b = 20; swapByExtraVariable(a,b); sw

不用新的变量,交换两个变量的值。

不用新的变量,交换两个变量的值.比如有2个变量a , b ,我们希望交换他们的值. 下面介绍两种不同的解法: 第一种:基于加减法 a = a + b ;   //先让a等于和 b = a - b ;  //和减去原来b的值得到原来a的值,赋值给b a = a - b : //和减去改变后b的值(原来a的值)得到原来b的值,赋值给a 第二种:基于异或运算 a = a ^ b  // 先a异或上b,赋值给a b = a ^ b  // a异或上b,消去b的影响得到原来的a,赋值给b a = a ^

JAVA不用临时变量交换两个变量的值

交换两个变量的值,不适用临时变量 1 public class Test{ 2 public static void main(String[] args){ 3 int a = 1; 4 int b = 2; 5 // 请交换两个变量的值 6 } 7 } 交换两变量的值 加减实现交换 1 public class Test{ 2 public static void main(String[] args){ 3 int a = 1; 4 int b = 2; 5 // 请交换两个变量的值 6

【Java】不使用第三方变量交换两个变量的值

在语言学习和进行程序设计的时候,我们交换两个变量最常使用的方法是借助temp这个新的变量进行转换,代码如下: ----------------------------------------- <--标准算法--> ----------------------------------------- int a = 3, b = 4; int temp = a; a = b; b = temp; ----------------------------------------- 这种方法易于理解

两个变量里的数字进行交换,不依赖第三个变量

import java.util.Scanner; public class Test1 { //1,两个变量里的数字进行交换,不依赖第三个变量 int a ; int b; public void swap(int a ,int b){ a = a + b; b = a - b; a = a - b; System.out.println("交换后"+"a:"+a+",b:"+b); } public static void main(Stri