交換兩個數

2021-08-08 13:34:33 字數 454 閱讀 6758

問題:如果要求不使用臨時變數,應該如何交換兩個變數的值?

解決這個題的方式有好幾種,第一種當然就是使用系統自帶的swap(_: _:)函式了。不過,這種抖機靈的做法一般人很難欣賞,而且說不定它內部實現使用了臨時變數也說不定:

// 這是使用臨時變數的做法,也是我們在c語言中常用的做法

func swap1(_ a: inout t, _ b: inout t)

除了上面這一種方法之外,其實還可以使用按位異或運算,以及一般的加減法運算來實現。相信這些以前在c語言中也練習過,所以這裡就不做介紹了。我們重點介紹一下在swift中利用元組如何實現:

func swap2(_ a: inout t, _ b: inout t)
如果是利用加減法,或者按位異或運算的話,至少也得3行**,但是利用元組,一行**就搞定了。

Qt C 交換兩個數

在程式設計過程中,交換兩個數是我用常用的 這裡做下簡單的搬運 bool widget swap int a,int b 這種方式其實是沒有改變的ab兩個引數的值的,只有在函式裡面,ab的值是改變的,但是在函式外面,ab的值還是沒有改變的 bool widget swap point int a,in...

兩個數的交換

一般思路 建立乙個臨時變數,以這個臨時變數為中間變數,利用賦值來完成兩個數的內容的相互交換。如下 include int main 優化方案 1.上述方法中需要另外建立乙個變數,略微有些麻煩,若是要求不能建立臨時變數,則可以採用數學上的加法來進行一些變通。如下 include int main 2....

兩個數交換值得實現

include using namespace std void f int m,int n void fun int m,int n int main 第乙個交換函式是利用的指標的方式,用這種方式直接從位址層面講原本a的位址指向了b,b的位址指向了a,從而實現了兩個數的交換 第二種方式是利用引用的...