原文:java兩個變量交換值不借助第三個變量所想

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

2015-06-02 23:45 0 6545 推薦指數:

查看詳情

不借助第三個變量交換兩個變量值的3種方式

  今天在我們學校的OJ上做題,一道非常簡單的題,突然想試試能不能不借助第三個變量交換兩個變量值。蒙出來一半了已經,好可惜。現在把方法寫在這里,希望以后不要忘記。 感謝網友 https://blog.csdn.net/sinat_29173167/article/details ...

Sat Jun 09 17:41:00 CST 2018 0 1038
不借助第三個變量交換a,b兩個變量

從一個面試題說起... 不借助第三個變量交換a,b兩個變量值 一個很經典的答案是通過異或來解決 關鍵字 先決條件 0為假,1為真 "^":對應邏輯運算異或(XOR)。 重點在"異",只有[1]XOR[0]或[0]XOR[1]才為1;一真一假即真 ...

Thu Jan 16 08:00:00 CST 2020 0 1487
C# 不借助第三個變量實現整數交換

c#中實現兩個int變量的數值互換,在借助第三個變量做臨時載體的情況下,非常簡單。 如果不借助第三變量,有幾種實現的方法: 1.異或算法(這種方法不借助第三個變量,也不會產生溢出,比較安全,但僅限整數類型) 2.直接賦值(有溢出的風險 ...

Wed Oct 08 23:16:00 CST 2014 32 6212
交換兩個變量,不使用第三個變量的四種法方法

通常我們的做法是(尤其是在學習階段):定義一個新的變量借助它完成交換。代碼如下: 上面的算法最大的缺點就是需要借助一個臨時變量。那么不借助臨時變量可以實現交換嗎?答案是肯定的!這里我們可以用三種算法來實現:1)算術運算;2)指針地址操作;3)位運算;4)棧實現。 1) 算術運算 ...

Wed Oct 15 22:49:00 CST 2014 0 2651
交換兩個變量_不引入第三個變量

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
【編程題】不引入第三個變量,而交換兩個變量

不引入第三個變量,而交換兩個變量 方法一:算術運算 它的原理:把a,b看做數軸上的兩個點。 第一句“a=b-a”求出了ab點之間的距離,並且將其保存在a中; 第二句“b=b-a”求出了a到原點的距離(b到原點的距離減去ab點距離),並且將其保存在b中; 第三 ...

Mon Nov 06 04:24:00 CST 2017 0 1321
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM