priority queue
This homework will eventually be a part of a future sequence of assignments about data
compression using a method called Huffman coding. The first step is to create a module for
storing data. While we plan to use it for Huffman coding, this first part can stand on its own; it
could be used for storing any kind of data.
You will use linked lists to implement a priority queue data structure and a stack data
structure. Those are just linked lists with some rules about how elements are added and
removed.
Learning goals
You should learn or practice how to:
1. Create and manipulate linked lists.
2. Avoid memory faults associated with linked lists.
3. Use function addresses to make your data structures work with any type of values.