Question 1
A deque (pronounced "deck") is a list-based collection that allows additions and removals to take place at both ends. A deque supports the operations addFront (x), removeFront( ), addRear (x), removeRear( ), size( ), and empty( ). Write a program with class that implements a deque that stores strings using a doubly-linked list that you code yourself.
Demonstrate your class with a graphical user interface that allows users to manipulate the deque by typing appropriate commands in a JTextField component, and see the current state of the deque displayed in a JTextArea component. Consult the documentation for the JTextArea class for methods you can use to display each item in the deque on its own line.
Question 2
You are given a file that contains data describing a binary tree whose nodes are strings. The file begins with an integer N, the number of nodes in the tree, on a line by itself. This first line is followed by N additional lines where each line specifies child information for a node in the tree.
The line for a node X starts with X itself followed by a list of the children of X. Names of nodes are separated by whitespace. For example, the data set:
5
Al Bob Carol
Bob Debby Elaine
Carol
Debby
Elaine
represents a binary tree in which Al has two children named Bob and Carol; Bob has two children named Debby and Elaine; and Carol, Debby, and Elaine have no children. Write a program that reads in data from such a file and displays it in a JTree component