Implement a priority queue based on a sorted linked list. The remove operation on the priority queue should remove the item with the smallest key.
5.2
Implement a deque based on a doubly linked list. (See programming project 4.2 - Create a Deque class based on the discussion of deques (double-ended queues) in this chapter. It should include insertLeft(), insertRight(), removeLeft(), removeRight(), isEmpty(), and isFull() methods. It will need to support wraparound at the end of the array, as queues do.) The user should be able to carry out the normal operations on the deque.