We can define the access primitives and other primitive operations in the form of functions. We can then design abstract algorithms which are independent of implementation details. Once we have chosen an implementation for the structure, all that is required to implement the algorithms is to implement the primitives. It is important to recognise the differences between the abstract (design) and concrete (implementation) levels when we are considering data structures:
In many algorithms it is necessary to copy all the attributes of one node to another. we could define a function to do this, eg:
copyfrom is an abstract primitive, but it can easily be implemented in a programming language.
Next: Linked List