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







2 import java.util.*; public class DoubleLinkedList public Node header; public Node tail; public Doublelinked List() 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 = 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 = newlode; header = newNode; else new lode. Blink = tail; tail.Flink = newNode; tail = new Node; 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 == null) 109 210 System.out.println("there is no such prekey!"); if (current != null) 111 112 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; SUWNS OWNPOUW WU 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) 6 268 System.out.println("The list is empty!"); return; 169 170 171 172 173 174 175 176 177 178 179 180 181 -182 183 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
