tôi nghe một câu hỏi phỏng vấn: "In một danh sách đơn lẻ liên kết ngược, trong không gian liên tục và thời gian tuyến tính"In một danh sách đơn lẻ liên kết ngược, trong không gian liên tục và thời gian tuyến tính
Giải pháp của tôi là đảo ngược danh sách được liên kết tại chỗ rồi in như thế. Có một giải pháp không phá hủy không?
Đó là những gì tôi đã suy nghĩ. Tuy nhiên, đó là thực hành tốt trong một tình huống thế giới thực?(Giả sử vượt qua tham chiếu) –
Thực ra bạn sẽ đảo ngược nó đầu tiên mà không cần in và sau đó in nó trong khi bạn đảo ngược lại. – x4u
@Razor: ish. Thông thường nếu bạn vượt qua một cái gì đó để in, bạn sẽ mong đợi các callee để xử lý nó như là unmodifiable. Vì vậy, trong các ngôn ngữ quan tâm đến loại điều đó, hoặc chức năng cần (đáng ngạc nhiên) lấy một tham số không phải là const hoặc khác chính hàm đó phải chứa mã không an toàn. Bạn sẽ phải quyết định xem các lợi ích có đáng để thêm nguy cơ viết mã không đúng hay không hoặc bạn có nên thực hiện tốt hơn việc sao chép danh sách hay sử dụng cấu trúc hai chiều thay thế (ví dụ: danh sách được liên kết kép). Nếu đó là một lợi ích đủ nghiêm trọng, thực hành tốt của bất cứ điều gì ;-) –