方法1: 一時変数を使用したスワップ この方法では、一時変数を使用して値をスワップします。
def swap_using_temp(a, b):
temp = a
a = b
b = temp
return a, b
この方法では、a
の値を temp
に一時的に保存し、b
の値を a
に代入し、最後に temp
の値を b
に代入します。
方法2: 加算と減算を使用したスワップ この方法では、加算と減算を使用して値をスワップします。
def swap_using_add_sub(a, b):
a = a + b
b = a - b
a = a - b
return a, b
この方法では、a
と b
の値を加算して a
に代入し、その後、a
から b
を減算して b
に代入します。最後に、a
から再び b
を減算して a
に代入します。
方法3: ビット演算子を使用したスワップ この方法では、ビット演算子を使用して値をスワップします。XOR(排他的論理和)演算子を使用する方法が一般的です。
def swap_using_bitwise(a, b):
a = a ^ b
b = a ^ b
a = a ^ b
return a, b
この方法では、a
と b
の値を XOR 演算子で交換します。XOR 演算子は、2つのビットが異なる場合に 1 を返し、同じ場合に 0 を返します。これにより、a
と b
の値がスワップされます。
これらの方法を使用して値をスワップすることができます。どの方法を選ぶかは、プログラムの要件やパフォーマンスによって異なります。ビット演算子を使用したスワップは、特に制約のある環境や効率性が重要な場合に有用です。