close
原文出處:kejames 學習筆記本--【動腦時間】要如何交換兩個變數,而不動用第三個變數?
http://www.cnblogs.com/kejames/archive/2007/09/19/898333.html
Q : 如何交換兩個變數,而不動用第三個變數? 有興趣的人可以想想... 從http://www.cnblogs.com/oomusou/archive/2007/09/09/887337.html看來的文章,寫的真的很好。 以下為轉載資料。 --- 這是我一個網友問我的,他說他同學去工作面試時所考的題目,一般我們要交換兩個變數會這樣寫。 C++ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() 假如你也這樣寫,表是你是一個很正常的coder,:D,但這樣寫還必須多一個變數tmp當暫存,能否不需tmp也能交換呢? 神奇的xor xor全名為exclusive or,其truth table為
簡單的說,就是當x和y不同時,其質為true。但xor最神奇的,是它具可逆性,這是其他and、or、or等邏輯做不到的。 ![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]()
![]() ![]() ![]()
|
全站熱搜