Suppose a doubly linked list of integers is given below and p is a reference to the node with value 10 in the list (i.e. p.info=10): (head) 7 11 6 4 3 10 8 2 (tail) What does the list look like after the following java code snippet is run?

5 phương ánCó giải thích
Đề bài
int x = 9;
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: "7 11 6 4 3 10 9 8 2". Đoạn mã tạo nút p1 chứa 9 rồi lấy p2 là nút đứng sau p, tức nút 8. Bốn phép gán p.next=p1, p1.prev=p, p1.next=p2 và p2.prev=p1 khâu đủ hai chiều, đặt nút 9 vào ngay sau nút 10 và trước nút 8. "7 11 6 4 3 10 8 2 9" là thêm vào cuối danh sách, phải đi qua tail chứ không phải qua p. "7 11 6 4 3 9 10 8 2" là chèn trước p, muốn vậy phải dùng p.prev để nối với nút 3 chứ không phải p.next. "7 9 11 6 4 3 10 8 2" là chèn sau nút đầu, cần một tham chiếu tới head. "9 7 11 6 4 3 10 8 2" là chèn vào đầu danh sách và bắt buộc phải gán lại head, mà đoạn mã không chạm tới head.

Cùng phần 1

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