Unlike an array, though, each node consists of, in its simplest form, a data structure that has both a data element and a pointer. Sometimes, as shown in the diagram, the data item is itself a pointer, but I'll stick with the example case of the data being integers. To make a list of arrays of floats, for example, just change the type of the data element in the linked list nodes. There is one convention I'd like to clear up before continuing, and that is the null pointer convention. Pointers can either point to something by holding some useful data value, or they can point to nothing by holding a special value, often called NULL or NUL or just plain 0 .
Different folks have different ways of representing null pointers in diagrams.
Before going any further, draw a few list nodes just to get a feel for using your pencil or crayons or whatever you've got near your computer. The first node of the list is pointed to by a pointer named top . Thus a linked list is a linear data structure that is a lot like an array. The tricky part is that linked lists are a little bit more complex to implement than arrays. I'll give a small start, and then I will provide some programming ideas to help the linked list concept along.