原文:交換兩個變量的值,不使用第三個變量的四種法方法

通常我們的做法是 尤其是在學習階段 :定義一個新的變量,借助它完成交換。代碼如下: 上面的算法最大的缺點就是需要借助一個臨時變量。那么不借助臨時變量可以實現交換嗎 答案是肯定的 這里我們可以用三種算法來實現: 算術運算 指針地址操作 位運算 棧實現。 算術運算 指針地址操作因為對地址的操作實際上進行的是整數運算,比如:兩個地址相減得到一個整數,表示兩個變量在內存中的儲存位置隔了多少個字節 地址和一 ...

2014-10-15 14:49 0 2651 推薦指數:

查看詳情

不使用第三個變量交換兩個變量

小結一下: 給出兩個變量:var a = 1, b = 2; 方法一: a = a + b; b = a - b; a = a - b; a, b 的已經交換方法二: a = a ^ b; b = a ^ b; a = a ^ b; a, b 的已經交換 ...

Wed Apr 25 16:53:00 CST 2012 1 3300
如何不使用第三個變量交換兩個數的

  最近在看《c++從入門到精通》自學c++,里面有一道課后題是如何做到不適用第三個變量交換兩個數的,以下是我在網上查找到的資料,記錄下並作為筆記。 題目:a=10,b=15,將a / b的互換。 通常我們的做法是(尤其是在學習階段):定義一個新的變量,借助它完成交換 ...

Thu May 14 03:05:00 CST 2015 1 14643
JAVA交換兩個變量-(不使用第三變量

以下方法的根本原理就是: 借助第三個變量 c = a; a = b; b = c; 運算符-不借助第三變量: a = a+b; b = a-b; a = a-b; 為運算符-不借助第三個變量: (此種方法運用這種原理:一個數對另一個數位異或次,該數不變)a = a^b; b ...

Wed Mar 28 00:10:00 CST 2018 1 3853
交換兩個變量_不引入第三個變量

package test; public class Test { public static void main(String[] args) { int a, b; a = 10; b = 12; System.out.println(a + " " + b); /* * 借助第三變量 ...

Thu Jul 28 04:27:00 CST 2016 0 3170
java兩個變量交換不借助第三個變量所想

最近在看到java的位運算,這塊到目前為止也沒有用到過,因為不知道怎么用所以總感覺學不會。當然看到這里就想到之前看到過幾次的java實現兩個變量交換,不通過中間變量的問題。又忘記了原理,各種搜索之后還是總結一下記下來吧。 首先只有兩個變量,相互交換。因此每個不能丟掉,且暫存變量兩個 ...

Wed Jun 03 07:45:00 CST 2015 0 6545
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM