Lecture 5
Implementation Of Lists (Sections 4.1, 4.2, 4.5)

Last week's handout (list specification) is needed.

The assignment is entirely based on material at the end of this lecture so it is crucial to cover that material.

We will not consider in any detail the code that implements the operations. The reason is this: once the C type definitions have been decided upon, the code for the operations is completely determined - the specification tells us what they must do, and the type definitions tell us on what specific data objects they must operate. Filling in the code requires no further decisions, just careful attention to detail.

So you see the decisions about the type definitions are very important - they determine how simple and efficient our code will be.