變數值的交換方法總結

2021-05-28 03:08:05 字數 750 閱讀 9684

變數值的交換方法總結

2023年05月09日 星期五 下午 04:47

程式設計中肯定會常常用到swap這個函式,他的意思就是交換兩個變數的數值,但是這個過程手動實現也很容易,總結了一下,大致有5種實現。

主函式:

main()

方法一:

通過臨時變數實現,也是最常見的方法:

void swap(int a ,int b)

t是核心內容,作為臨時變數進行交換。這種演算法易於理解,但需要乙個臨時變數。

方法二:

算術運算,就是通過普通的+和-運算來實現:

void swap(int a ,int b)

證明:把a、b看做數軸上的點,圍繞兩點間的距離來進行計算。第一句「a=b-a」求出ab兩點的距離,並且將其儲存在a中;第二句「b=b-a」求出a到原點的距離(b到原點的距離與ab兩點距離之差),並且將其儲存在b中;第三句「a=b+a」求出b到原點的距離(a到原點距離與ab兩點距離之和),並且將其儲存在a中。完成交換。

此演算法與方法一相比,多了三個計算的過程,但是沒有借助臨時變數。

方法三:

指標位址操作,因為對位址的操作實際上進行的是整數運算,比如:兩個位址相減得到乙個整數,表示兩個變數在記憶體中的儲存位置隔了多少個位元組;位址和乙個整數相加即「a+10」表示以a為基位址的在a後10個a類資料單元的位址,所以理論上可以通過和算術演算法類似的運算來完成位址的交換,從而達到交換變數的目的:

void swap(int a ,int b)

{if(a

Python交換變數值

平時時不時會面面實習生,大多數的同學在學校裡都已經掌握了python。面試的時候要求同學們實現乙個簡單的函式,交換兩個變數的值,大多數的同學給出的都是如下的答案 def swap x,y tmp x x y y tmp實際上,python中還有更簡潔的更具python風格的實現,如下 def swa...

交換兩個變數值的方法

這是學程式設計的人都會想到的方法,因為邏輯性不是很強交換起來比較方便,能很快達到交換資料的目的,但是多乙個變數就需要為它分配儲存空間,以下為乙個例子 var left 10 var right 8 console.log 左手為 left console.log 右手為 right console....

python變數值 Python變數值轉變量

今天用python讀取乙個有很多欄位的配置檔案,配置檔案中的格式類似 pidstart 2600 startfid 47 starttid 450 startfirst 1 message 一般會想到的是 config open configpath,r for item in config set...