Swap là thuật toán dùng để đổi giá trị 2 biến.
Ví dụ:
a=3
b=5
sau khi gọi hàm Swap(a,b) thì : a=5, b=3.
Cách đơn giản nhất để viết hàm này là dùng thêm một biến tạm:
- Code:
void Swap (int &a, int &b) { //lưu ý phải có dấu & trước a và b để truyền vào kiểu tham chiếu
int t;
t=a;
a=b;
b=t;
}
Đây là cách phổ biến nhất. Tuy nhiên trong giải thuật trên, chúng ta thấy rằng phải dùng biến tạm t để lưu giá trị a.
Có một cách khác không cần dùng biến tạm mà vẫn có thể đổi giá trị của 2 số như sau:
- Code:
void Swap (int &a, int &b) {
a+=b;
b=a-b;
a-=b;
}
ví dụ: a=5 b=3
a+=b; => a=8 b=3
b=a-b; => a=8 b=5
a-=b; => a=3 b=5
_____________________
Nothing is impossible!