已知有兩個變數a、b,現需要交換這兩個變數的值。
使用中間變數
temp = a;
a = b;
b = temp;
使用乘法
a = a*b;
b = a/b;
a = a/b;
注意⚠️:乘法過程可能會有溢位,另外該方法如果a、b為浮點型,計算之後可能會出現精度損失,還有b不能為零,且乘除法運算的時間較其他基本運算長,不建議使用,只是讓你知道有這麼乙個方法而已。
使用加法
a = a+b;
b = a-b;
a = a-b;
該方法較基本方法不需要額外的變數,節省空間,較高階1運算速度更快,也沒有高階1的***,⚠️唯一需要注意的就是加法過程可能會溢位,只要確保不會出現這個問題,還是推薦使用的。
使用異或,位運算為底層操作,速度更快。
a = a^b;
b = a^b;
a = a^b;
原理:a^b^b == a,與順序無關。 交換兩個數的三種方法
1.使用臨時變數 public static void main string args throws exception2.不使用臨時變數 加減法 注意int範圍 public static void main string args throws exception3.不適用臨時變數 使用位運算...
交換兩個數的幾種方法
這是最常用的交換兩數的方法 void swap 1 int a,int b 有兩種方法。1 採用加減的方法,這種方法容易越界 void swap 2 int a,int b 2 採用按位異或的方法 void swap 3 int a,int b 這兩種方法並不常用甚至有些時候容易出bug,但有時面試...
js習題 求兩個數的和的四種方法)
不推薦使用遞迴,遞迴使用太多會導致棧溢位 lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle head 第一種方法,用遞迴的方式 var temp 臨時儲存 va...