ddtan90 Admin
Tổng số bài gửi : 178 Join date : 30/12/2010 Age : 33 Đến từ : SE 3 - K34
| Tiêu đề: Swap 2 số tự nhiên Mon Jan 10, 2011 4:38 pm | |
| 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 | |
|