Select the statement that is most correct. Suppose we are considering a singly linked list and p is some node in the list which has both predecessor and successor nodes. What does the java code snippet below do?
4 phương ánCó giải thích
Node f = head;
while(f.next != p) f = f.next;
f.next = p.next;Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "It deletes the node p.". Danh sách liên kết đơn không lùi được, nên vòng lặp while(f.next != p) f = f.next chạy từ head để dừng đúng ở nút đứng liền trước p. Lệnh f.next = p.next khiến nút đó trỏ vượt qua p sang nút kế tiếp, vậy p không còn ai trỏ tới và biến mất khỏi đường đi từ head, đúng nghĩa xoá p. "It deletes the node before p." sai vì nút trước p chính là f, nó vẫn nằm trong danh sách và còn là nút giữ liên kết mới. "It deletes the node after p." sai vì nút sau p vẫn được f.next trỏ tới nên vẫn truy cập được từ head; muốn xoá nó phải viết p.next = p.next.next. "It does not make any change on the list." sai vì liên kết f.next đã bị ghi lại, danh sách ngắn đi một nút.
Cùng phần 1
Suppose a doubly linked list of integers is given below and p is a reference to the node with value 30 in the list (i.e. p.info=30):
(head) 7 11 6 4 30 9 8 2 (tail)
What does the list look like after the following java code snippet is run?
Node p1,p2; p1 = p.next;
p2 = p1.next;
p.next = p2;
if(p2!=null) p2.prev=p;Có lời giảiCâu hỏiSuppose a doubly linked list of integers is given below and p is a reference to the node with value 13 in the list (i.e. p.info=13):
(head) 7 11 6 4 32 13 8 2 (tail)
What does the list look like after the following java code snippet is run?
int x = 17;
Node q = new Node(x);
q.prev=null;
q.next = head;
head.prev = q;
head = q;Có lời giảiCâu hỏiSelect the statement that is most correct.
Basically, the complexity of getting an element at the middle of a singly linked lists isCó lời giảiCâu hỏiCả 64 câu của chủ đề64 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây