Giới thiệu
Hoán đổi (swap) nghĩa là trao đổi giá trị của hai biến. Ví dụ: a = 3, b = 5 → sau khi hoán đổi: a = 5, b = 3.
Python
Python hỗ trợ hoán đổi trực tiếp trên một dòng:
a, b = 3, 5
print("Before swapping:-", a, b)
a, b = b, a
print("After swapping:-", a, b)
Kết quả: Before swapping:- 3 5 → After swapping:- 5 3
C/C++, Java, PHP (sử dụng XOR)
Sử dụng toán tử XOR (^) để hoán đổi mà không cần biến tạm:
a ^= bb ^= aa ^= b
C/C++
#include <stdio.h>
int main() {
int a = 3, b = 5;
printf("Before Swapping:- %d %d", a, b);
a ^= b; b ^= a; a ^= b; // hoặc (a ^= b), (b ^= a), (a ^= b)
printf("After Swapping:- %d %d", a, b);
return 0;
}
Java
class Swap {
public static void main(String[] args) {
int a = 3, b = 5;
System.out.println("Before Swapping:- " + a + " " + b);
a = a ^ b ^ (b = a); // kỹ thuật một dòng
System.out.println("After Swapping:- " + a + " " + b);
}
}
PHP
<?php $a = 5; $b = 10; echo "Before Swapping:- ", $a, " ", $b; $a ^= $b; $b ^= $a; $a ^= $b; echo "After Swapping:- ", $a, " ", $b; ?>
Kết luận
Python cho phép hoán đổi trực quan nhất. Với C/C++, Java, PHP, kỹ thuật XOR giúp hoán đổi trên một dòng mà không cần biến trung gian.