3 番目の変数を使用しない変数値の交換: インタビュー パズル
ソフトウェア開発のインタビューでは、次のような一般的な質問が提示されます。 3 番目の変数を使用せずに 2 つの変数の値を取得するには?従来、これは一時変数をプレースホルダーとして使用して実現されていました。
3 番目の変数の必要性を回避するには、xor スワップ アルゴリズムを使用できます。この手法は、排他的 OR 演算 (XOR) を利用し、両方のビットが同じ場合は 0 を返し、異なる場合は 1 を返します。
XOR スワップ アルゴリズム:
void xorSwap(int* x, int* y) { if (x != y) { //ensure that memory locations are different *x ^= *y; *y ^= *x; *x ^= *y; } }
このアルゴリズムは、次の手順を実行することで機能します:
考慮事項:
以上が3 番目の変数を使用せずに 2 つの変数値を交換するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。