Web2.0, HPC, Unix, and my mine.
Posts tagged xor
Method Swap – without temporary variable
Jun 10th
ตัวอย่างข้างต้น เป็นการเขียนโปรแกรม swap ค่าแบบแปลกๆครับ ไม่ต้องมาสร้างตัวแปร temp อีกแย๊ว
จะนำเสนอ 2 วิธีครับ
วิธีแรก :: การใช้ Operator XOR
ตัวอย่าง code สำหรับ ภาษา C#
1 2 3 4 5 | void swap (ref int a, ref int b) { a ^= b; b ^= a; a ^= b; } |
ตัวอย่าง code สำหรับ ภาษา C/C++
1 2 3 4 5 | void swap (int &a, int &b) { a ^= b; b ^= a; a ^= b; } |
วิธีที่สอง :: การใช้ Operator +- ค่าเข้าออกจากตัวแปร
ตัวอย่าง code สำหรับ ภาษา C#
1 2 3 4 5 | void swap (ref int a, ref int b) { b += a; a = b − a; b −= a; } |
ตัวอย่าง code สำหรับ ภาษา C/C++
1 2 3 4 5 | void swap (int &a, int &b) { b += a; a = b − a; b −= a; } |
