Question: import java.util.*; public class DoubleLinkedList public Node header; public Node tail; public DoublelinkedList() header = null; tail = null; public void AppendToHead (int newItem) Node





import java.util.*; public class DoubleLinkedList public Node header; public Node tail; public DoublelinkedList() header = null; tail = null; public void AppendToHead (int newItem) Node newNode = new Node(newItem); if (header == null). header = newNode; tail = newNode; else newNode. Flink = header; header.Blink = newNode; header = newNode; public Node RemoveFromHead() Node x = header; if (header != null) 11 (header se tail) header = null; tail = null; else header = header.Flink; header.Blink = null; else System.out.println("the double linked list is empty"); return x; public void AppendToTail(int newItem) Node newlode = new Node(newItem); if (tail == null) tail = newNode; header = newNode; else new lode. Blink = tail; tail.Flink = newNode; tail = newNode; public Node RemoveFromTail() Node x = tail; if (tail != null) if (header == tail) header = null; tail = null; else tail.Blink. Flink = null; tail = tail.Blink; . else System.out.println("the double lined list is empty'), return x; public Node Search(int key) Node current; current = header; while (current != null && current.item != key) current = current.Flink; return current; public void Insert(int newItem, int prekey) 107 108 Node newNode = new Node(newItem); Node current - Search(prekey); if (current ss null) 109 '110 111 112 System.out.println("there is no such prekey!"); if (current != null) 113 114. O AO if (current == tail) newNode.Blink = current; current.Flink = newNode; else newlode. Flink = current.Flink; newNode. Blink = current; current.Flink.Blink = newNode; current. Flink = newNode; if (newNode.Flink == null) tail = newNode; W3SC OU WNWWW.UU WU public void Delete(int key) Node p = Search (key); if (p == null) System.out.println("there is no such a key."); if (p != null) if (p != header && p != tail) p.Blink. Flink = p.Flink; p.Flink.Blink = p.Blink; if (p == header && P == tail) 49 header = null; tail = null; if (p = header && p != tail) header = null; tail = null; if (p == header && p != tail) header = header.Flink; header.Blink = null; SOSUUNTO if (p != header && p == tail) p.Blink. Flink = null; tail = p.Blink; public void PrintList() Node current = header; if (current == null) 168 169 170 System.out.println("The list is empty!"); return; 171 172 173 174 175 176 System.out.printf("(header)%1$st
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
