你應該知道的交換兩個數四種方法

2021-10-10 03:16:15 字數 575 閱讀 1271

已知有兩個變數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...