ขั้นตอนวิธีสลับด้วยออร์เฉพาะ
หน้าตา
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
ในการเขียนโปรแกรมคอมพิวเตอร์ การสลับด้วยออร์เฉพาะ เป็นขั้นตอนวิธีที่ใช้การดำเนินการบิตออร์เฉพาะในการสลับข้อมูลของตัวแปรสองตัวที่แตกต่างกัน มีชนิดข้อมูลเหมือนกัน โดยไม่ใช้ตัวแปรชั่วคราวช่วยในการสลับ ("แตกต่างกัน" ในที่นี้หมายถึงตัวแปรเป็นคนละตัวกัน กล่าวคือมีที่อยู่หน่วยความจำแตกต่างกัน แต่ค่าของตัวแปรทั้งสองอาจเท่ากันก็ได้)
ขั้นตอนวิธี
[แก้]การสลับข้อมูลโดยทั่วไปจะใช้ตัวแปรชั่วคราวช่วยในการสลับดังนี้
tmp := X
X := Y
Y := tmp
อย่างไรก็ตาม หากใช้การสลับด้วยออร์เฉพาะจะไม่ต้องใช้ตัวแปรชั่วคราวช่วยเลย ขั้นตอนวิธีเป็นไปดังนี้
X := X XOR Y
Y := X XOR Y
X := X XOR Y
การพิสูจน์ความถูกต้อง
[แก้]ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |
เหตุผลในการใช้งานจริง
[แก้]ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |
เหตุผลที่ควรหลีกเลี่ยงในการใช้งานจริง
[แก้]ส่วนนี้รอเพิ่มเติมข้อมูล คุณสามารถช่วยเพิ่มข้อมูลส่วนนี้ได้ |
รูปแบบอื่นที่ใกล้เคียงกัน
[แก้]X := X + Y;
Y := X - Y;
X := X - Y;