Menukar Nilai Pembolehubah Tanpa Pembolehubah Ketiga: Teka-teki Temu Bual
Dalam temu bual pembangunan perisian, soalan biasa dikemukakan: bagaimana untuk menukar nilai dua pembolehubah tanpa menggunakan pembolehubah ketiga? Secara tradisinya, ini dicapai menggunakan pembolehubah sementara sebagai pemegang tempat.
Untuk memintas keperluan pembolehubah ketiga, algoritma swap xor boleh digunakan. Teknik ini menggunakan operasi OR eksklusif (XOR), yang mengembalikan 0 jika kedua-dua bit adalah sama dan 1 jika ia berbeza.
Algoritma Swap XOR:
void xorSwap(int* x, int* y) { if (x != y) { //ensure that memory locations are different *x ^= *y; *y ^= *x; *x ^= *y; } }
Algoritma ini berfungsi dengan melakukan langkah berikut:
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menukar Dua Nilai Pembolehubah Tanpa Menggunakan Pembolehubah Ketiga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!