PHP不借助第三个变量交换值

list($a, $b) = array($b, $a);

时间: 2024-10-09 06:18:29

PHP不借助第三个变量交换值的相关文章

Java基础知识强化05:不借助第三个变量实现两个变量互换

代码如下: package himi.hebao; /** * 不借助第三个变量实现,两个变量互换 * 这里利用^异或实现两个变量的互换 * @author Administrator * */ public class TestDemo08 { public static void main(String[] args) { int a= 120; int b= 34; a= a^b; //进行变量互换 b= b^a; //进行变量互换 a= a^b; //进行变量互换 System.out.

C# 不借助第三个变量实现两整数交换

c#中实现两个int变量的数值互换,在借助第三个变量做临时载体的情况下,非常简单. int a = 10; int b = 5; int c ; c = a; a = b; b = c; 如果不借助第三方变量,有几种实现的方法: 1.异或算法(这种方法不借助第三个变量,也不会产生溢出,比较安全,但仅限整数类型) int a = 10; int b = 5; a ^= b; b ^= a; a ^= b; Console.WriteLine("{0} {1}", a, b); 2.直接赋

不借助第三个变量,交换两个变量值的3种方式

今天在我们学校的OJ上做题,一道非常简单的题,突然想试试能不能不借助第三个变量,交换两个变量值.蒙出来一半了已经,好可惜.现在把方法写在这里,希望以后不要忘记. 1 void fun1() 2 { 3 int a = 10, b = 100; 4 5 a = a + b; 6 b = a - b: 7 a = a - b; 8 printf("%d\n%d\n", a, b); 9 } 10 11 void fun2() 12 { 13 int a = 10, b = 100; 14

不借助第三个变量实现两个变量交换及原理分析

通常的交换两个变量a,b的过程为 var temp; temp=a; a=b; b=temp; 需借助上面的第3个临时变量temp. 无需借助第3个临时变量交换两个变量a,b d的方法: 逻辑运算(异或) 下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b; 这个交换两个变量而无需借助第3个临时变量过程,其实现主要是基于异或运算的如下性质: 1.任意一个变量X与其自身进行异或运算,结果为0,即X^X=0 2.任意一个变量

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

1) 算术运算简单来说,就是通过+和-运算来实现.代码如下: int a,b; a=10;b=12; a=b-a;   //a=2;b=12 b=b-a;   //a=2;b=10 a=b+a;   //a=12;b=10 通过以上运算,a和b中的值就进行了交换.表面上看起来很简单,但是不容易想到,尤其是在习惯标准算法之后. 此算法与标准算法相比,多了三个计算的过程,但是没有借助临时变量.(以下称为算术算法) 2) 指针操作对指针的操作实际上进行的是整数运算.比如:两个int指针相减得到一个整数

不借助第三个变量交换a,b两个变量值

从一个面试题说起... 一个很经典的答案是通过异或来解决 a=a^b; b=a^b; a=a^b; 关键字 [ "异或", "逻辑运算符", "乔治·布尔", "香农" ] 先决条件 0为假,1为真 插曲>>>如果读到"0为假,1为真",心底肯定略过了,这谁都知道的啊... 但是如果是写出来,但是找不到出处.即使常识也不太肯定了... "^":对应逻辑运算异或(XOR)

【摘录】不借助第三个变量进行交换

第一种方法(限整数): int a=3,b=7; a^=b;//a此时等于10 b^=a;//b此时等于3 a^=b;//a此时等于7 第二种方法: int a=3,b=7; a=a+b-(b=a); //b等于3后,a等于a 加上 a与b的差值 第三种方法: int a=3,b=7; a=b+(b=a)*0; //b等于3后乘以0,a直接等于b+0

不借助第三个变量交换两个数值类型变量的值

原文地址:http://blog.csdn.net/web_hwg/article/details/75045689 方法一 最简单的方法是用一个临时变量 var a = 10, b = 20; var temp = a; a = b; b = temp; 方法二 让其中一个变量变成一个与a和b都有关系的值 a = a + b; b = a - b; a = a - b; 或者 a = a - b; b = a + b; a = b - a;

如何在不介入第三个变量的情况下实现两个数的交换

如何在不介入第三个变量的情况下实现两个数的交换: 1 package myeclipseFiles2; 2 3 public class Operator { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 int a=6; 8 int b=1; 9 System.out.println(a+":"+b); 10 11 //方法一:不借助第三个变量完成两个数的交换 1