以下方法的根本原理就是: 借助第三個變量 c = a; a = b; b = c; 運算符-不借助第三變量: a = a+b; b = a-b; a = a-b; 為運算符-不借助第三個變量: (此種方法運用這種原理:一個數對另一個數位異或兩次,該數不變)a = a^b; b ...
概要 本文主要描述,如何不使用中間值,將兩個變量的值進行交換。 前三種只適用於number類型的數值交換,第四和第五種適合其他類型。 一 普通做法 普通的做法就是聲明多一個臨時變量tmp,進行數據交換過程中的緩存。這樣的做法直觀,易懂。但是,會增加內存的使用。 二 算術運算 通過算術運算過程中的技巧,可以巧妙地將兩個值進行互換。但是,有個缺點就是變量數據溢出。因為JavaScript能存儲數字的精 ...
2017-02-27 22:07 0 5104 推薦指數:
以下方法的根本原理就是: 借助第三個變量 c = a; a = b; b = c; 運算符-不借助第三變量: a = a+b; b = a-b; a = a-b; 為運算符-不借助第三個變量: (此種方法運用這種原理:一個數對另一個數位異或兩次,該數不變)a = a^b; b ...
利用一個小技巧,一個整數a在異或另一個整數b兩次以后所得的值還是整數a。 具體的過程我們可以自己找兩個整數以二進制的形式自己在紙上畫一下他們的異或過程。(異或的運算符號為"^") 比如: 下面給出交換兩個整數位置的代碼,不需要臨時變量temp。 public class ...
在學習C語言的時候,涉及到兩個變量值的交換,其中用到臨時變量。 類似於: temp=a; a=b; b=temp; 這樣的語句,如果在沒有臨時變量的情況下,該如何做呢? 網絡上的人們給出了兩種方法: 一、異或法 a=a^b; b=b^a; a=a^b ...
在語言學習和進行程序設計的時候,我們交換兩個變量最常使用的方法是借助temp這個新的變量進行轉換,代碼如下: ----------------------------------------- <--標准算法--> ...
通常我們的做法是(尤其是在學習階段):定義一個新的變量,借助它完成交換。代碼如下: 上面的算法最大的缺點就是需要借助一個臨時變量。那么不借助臨時變量可以實現交換嗎?答案是肯定的!這里我們可以用三種算法來實現:1)算術運算;2)指針地址操作;3)位運算;4)棧實現。 1) 算術運算 ...
//字符串版本 結合使用substr,strlen兩個方法實現$a="a";$b="b";echo '交換前 $a:'.$a.',$b:'.$b.'<br />';$a.=$b;$b=substr($a,0,(strlen($a)-strlen($b)));$a=substr ...
#不使用第三個變量交換兩個變量的值 a= 1 b= 2 a,b=b,a#python的直接交換 #另一種交換方法 a=a+b #a=3 b=2 b=a-b #a=3 b=1 a=a-b #a=2 b=1 print ...
第一類方法也是常用的方法,通過多次的數值計算來完成交換,到現在知道的有下面三種: (1)加減法。 a = a + b; b = a - b; a = a - b; 該方法可以交換整型和浮點型數值的變量,但在處理浮點型的時候有可能出現精度的損失,例如對 ...