Select the statement that is most correct. Suppose we are considering a doubly linked list and p is some node in the list which has successor node. What does the java code snippet below do?

4 phương ánCó giải thích
Đề bài
Node p1, p2;
p1 = new Node(x);
p2 = p.next;
p.next = p1; p1.prev = p;
p1.next = p2; p2.prev = p1;

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "It inserts new node with value x after the node p.". Đọc theo thứ tự lệnh: p2 giữ lại nút đứng sau p, rồi p.next = p1 và p1.prev = p nối nút mới vào ngay sau p, cuối cùng p1.next = p2 và p2.prev = p1 khâu nút mới với nút kế tiếp. Cả bốn liên kết của một danh sách liên kết đôi đều được vá nên nút mới nằm gọn giữa p và nút sau nó. "It inserts new node with value x before the node p." sai vì chèn trước p phải xuất phát từ p.prev, mà đoạn mã này không hề đọc p.prev. "It replaces the node p with new node with value x." sai vì p vẫn còn nguyên trong danh sách và còn là nút đi trước nút mới; thay thế thì phải cho nút trước p trỏ vượt qua p. "It creates new node with value x at the end of the list." sai vì kết quả đó chỉ xảy ra khi p tình cờ là nút cuối, còn đề đã nói p có nút kế tiếp.

Cùng phần 1

Xuất hiện trong 1 bộ đề