Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hoán đổi hai biến trên một dòng trong C/C++, Python, PHP và Java


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 ^= b
  • b ^= a
  • a ^= 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.