Home Segments Index Top Previous Next

737: Mainline

The work done by add involves several pointers. As an illustration of how add works, suppose that you want to add a third element onto a two-element list. First, add must create a new link object with pointers to the old first element and to the new object:

New                 | Old 
                    |           *-------* A header object 
                    |           |       | 
                    |           *-------* 
                    |           |       | 
                    |           *-------* 
                    |               |        
                    |               v     
*-------*           |           *-------*       *-------*  link  
|       | --------------------> |       | ----> |   0   |  objects 
|-------|           |           |-------|       |-------| 
|       |           |           |       |       |       | 
*-------*           |           *-------*       *-------* 
    |               |               |               |       
    v               |               v               v       
*-------*           |           *-------*       *-------*  railroad_car 
|       |           |           |       |       |       |  objects 
|-------|           |           |-------|       |-------| 
|       |           |           |       |       |       | 
|-------|           |           |-------|       |-------| 
|       |           |           |       |       |       |