**Python*** Draw the UML diagrams for ListNode, LinkedList and their test harnesses. Include at least the following pub
Posted: Fri May 20, 2022 11:14 am
**Python***
Draw the UML diagrams for ListNode, LinkedList and their test
harnesses. Include at least the following public methods for
LinkedList: • boolean isEmpty() • boolean isFull() • void
insertFirst(Object inValue) • void insertLast(Object inValue) -
this will be much simpler with a tail pointer • Object peekFirst()
• Object peekLast() • Object removeFirst() • Object
removeLast()
Use the pseudocode from the lecture slides and the textbook to
assist you in developing ListNode and LinkedList. Be
aware that the lecture slide pseudocode is for a Single-Ended
Linked List. You must upgrade it to be a Doubly-Linked,
Double-Ended Linked List!
• Start with a Single-ended Singly Linked List and write a test
harness to fully test it before going forward, ensuring exception
handling is implemented. • Redevelop the list to be Doubly-Linked,
Double-Ended - that is, maintain both a head and a tail pointer as
member fields. This makes the linked list far more efficient for
queues.
Setup an interactive menu system to explore building a list,
saving it to a file and re-reading in the file to create new lists.
Include at least the following options: (a) InsertFirst/InsertLast
on the list (b) RemoveFirst/RemoveLast on the list (c) Display the
list (d) Write a serialised file (e) Read a serialised file
Draw the UML diagrams for ListNode, LinkedList and their test
harnesses. Include at least the following public methods for
LinkedList: • boolean isEmpty() • boolean isFull() • void
insertFirst(Object inValue) • void insertLast(Object inValue) -
this will be much simpler with a tail pointer • Object peekFirst()
• Object peekLast() • Object removeFirst() • Object
removeLast()
Use the pseudocode from the lecture slides and the textbook to
assist you in developing ListNode and LinkedList. Be
aware that the lecture slide pseudocode is for a Single-Ended
Linked List. You must upgrade it to be a Doubly-Linked,
Double-Ended Linked List!
• Start with a Single-ended Singly Linked List and write a test
harness to fully test it before going forward, ensuring exception
handling is implemented. • Redevelop the list to be Doubly-Linked,
Double-Ended - that is, maintain both a head and a tail pointer as
member fields. This makes the linked list far more efficient for
queues.
Setup an interactive menu system to explore building a list,
saving it to a file and re-reading in the file to create new lists.
Include at least the following options: (a) InsertFirst/InsertLast
on the list (b) RemoveFirst/RemoveLast on the list (c) Display the
list (d) Write a serialised file (e) Read a serialised file