Data structures and algorithms
CPSC-4355
List Assignment
Create a Java program named List that contains the following:
o a doubly linked list that contains data for an integer named ProductID and a string
named ProdType
o allow the list to be filled by reading data from a file (productdata.txt or prompt for
filename) that contains records consisting of the two fields
o create a 20 entry queue that contains data for an integer named Transid and a
character named Transtype
o load the queue from a file (transactions.txt or prompt for filename) five records
at a time or until end of file (i.e. throttle the input to process);
o After all of the transactions are processed, print the entries from the linked list.
o process the queue after each partial load:
▪ first print the entire queue (choose some symbol to print for empty members),
▪ then, for each transid, find the matching productid in the doubly linked list
(transids will be in random order)
▪ print the entry for transtype 'P'
▪ delete the entry for transtype 'D'
▪ clear (null ) the transid after processing an entry
o after all of the transactions are processed, print the entire linked list.
Note:
• Most of the code has been written for you. However, you have to fill in the code where
there are question marks (????) in List.java (the main class), ListVars.java (which
contains global variables), and Record.java (defines the linked-list members). In addition,
you must create code to process the transaction type where noted in the List.java module.
• Extra print statements have been added just for display purposes. If they become
confusing, comment them out.