01/10/2018, 00:59
Trong java không thể hoán vị 2 số?
chào mọi người, em muốn hỏi là trong java mình không thể viết hàm hoán vị 2 số trực tiếp mà chỉ có cách là đặt 2 giá trị đó vào mảng và đưa mảng vào hàm hoán vị? cái này là đúng hay sai? cảm ơn mọi người ^^
Bài liên quan
Hàm hoán vị của bạn sai rồi kìa? Hàm như thế thì HoanVi(a,b) = 2(a+b), sau khi chạy hàm thì a = 2(a+b) và b = a+b.
Có 2 cách viết thường dùng:
void HoanVi(int a, int b)
{
a=a+b;
b=a-b;
a=a-b;
}
Cách trên có thể gây tràn bộ nhớ nếu a+b vượt ngoài phạm vi của kiểu dữ liệu int. Cách thư 2 mình hay dùng:
void HoanVi(int a, int b)
{
int TrungGian=a;
a=b;
b=TrungGian;
}
à mình post nhầm hình @@,sr bạn, nhưng mà mình đã thử test theo mọi cách vẫn không được
đúng
còn cái code hoán vị ở dưới thì bỏ đi
Trong java là reference by value, với lại đang dùng primitve type nên nó luôn là pass by value nên không hoán vị được đâu.
cảm ơn mọi người nhiều