Có cách nào viết hàm swap mà không cần đến biến tạm k ạ
có chứ.
a=a+b; b=a-b; a=a-b;
với con trỏ hoặc kiểu phức tạp thì đổi địa chỉ của từng thành phần thành nhị phân (hoặc thập phân) và làm tương tự.
Hay đấy bạn
Thích cái này nhất (chỉ cho số nguyên)
a^=b^=a^=b;
tương đương
a^=b; b^=a; a^=b; //XOR Swap
dùng phép nhân và chia cũng dc :
Làm dạng dùng bit XOR hay hơn, khi dùng phép cộng rất có thể sẽ bị tràn stack nếu phép cộng vượt quá khả năng biểu diễn dữ liệu của kiểu dữ liệu bạn đang dùng
Nhật Cao Khánh
0 chủ đề
0 bài viết
có chứ.
với con trỏ hoặc kiểu phức tạp thì đổi địa chỉ của từng thành phần thành nhị phân (hoặc thập phân) và làm tương tự.
Hay đấy bạn
Thích cái này nhất (chỉ cho số nguyên)
tương đương
dùng phép nhân và chia cũng dc :
Làm dạng dùng bit XOR hay hơn, khi dùng phép cộng rất có thể sẽ bị tràn stack nếu phép cộng vượt quá khả năng biểu diễn dữ liệu của kiểu dữ liệu bạn đang dùng