變數值的交換方法總結
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...