( )variesandmoreoverwhen no information is given about their frequencies of access typical example is the symbol table in compilers of programming languages each declaration causes the addition of new symboland upon exit from its scope of validityit is deleted from the list the use of simple linked lists is appropriate for applications with relatively short programs even in this case considerable improvement in access method can be achieved by very simple technique which is mentioned here again primarily because it constitutes pretty example for demonstrating the flexibilities of the linked list structure characteristic property of programs is that occurrences of the same identifier are very often clusteredthat isone occurrence is often followed by one or more reoccurrences of the same word this information is an invitation to reorganize the list after each access by moving the word that was found to the top of the listthereby minimizing the length of the search path the next time it is sought this method of access is called list search with reorderingor -somewhat pompously -self-organizing list search in presenting the corresponding algorithm in the form of procedurewe take advantage of our experience made so far and introduce sentinel right from the start in facta sentinel not only speeds up the searchbut in this case it also simplifies the program the list must initially not be emptybut contains the sentinel element already the initialization statements are new(sentinel)root :sentinel note that the main difference between the new algorithm and the straight list search is the action of reordering when an element has been found it is then detached or deleted from its old position and inserted at the top this deletion again requires the use of two chasing pointerssuch that the predecessor of an identified element is still locatable thisin turncalls for the special treatment of the first element ( the empty listto conceive the linking processwe refer to fig it shows the two pointers when was identified as the desired element the configuration after correct reordering is represented in fig and the complete new search procedure is listed below sentinel root nil fig list before re-ordering sentinel root nil fig list after re-ordering