Câu lạc bộ Hỗ Trợ Học Tập
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
  • Top posters
 Mr.Pakapun (256)
 ddtan90 (178)
 tvduong (147)
 dthnam90 (137)
 minhquankq (101)
 arianbo (70)
 DoanhNhan (54)
 chicken (53)
 stormit (52)
 gentle_storm (47)

 

 Swap 2 số tự nhiên

Go down 
Tác giảThông điệp
ddtan90
Admin
Admin
ddtan90


Tổng số bài gửi : 178
Join date : 30/12/2010
Age : 33
Đến từ : SE 3 - K34

Swap 2 số tự nhiên Empty
Bài gửiTiêu đề: Swap 2 số tự nhiên   Swap 2 số tự nhiên EmptyMon 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
Về Đầu Trang Go down
 
Swap 2 số tự nhiên
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Câu lạc bộ Hỗ Trợ Học Tập :: LẬP TRÌNH :: .::LẬP TRÌNH C/C++-
Chuyển đến