sec lists insert ( ( (cfigure inserting an element at the head of an array-based list requires shifting all existing elements in the array by one position toward the tail (aa list containing five elements before inserting an element with value (bthe list after shifting all existing elements one position to the right (cthe list after has been inserted in array position shading indicates the unused part of the array list node class is that it can be reused by the linked implementations for the stack and queue data structures presented later in this figure shows the implementation for list nodescalled the link class objects in the link class contain an element field to store the element valueand next field to store pointer to the next node on the list the list built from such nodes is called singly linked listor one-way listbecause each list node has single pointer to the next node on the list the link class is quite simple there are two forms for its constructorone with an initial element value and one without because the link class is also used by the stack and queue implementations presented laterits data members are made public while technically this is breaking encapsulationin practice the link class should be implemented as private class of the linked list (or stack or queueimplementationand thus not visible to the rest of the program figure (ashows graphical depiction for linked list storing four integers the value stored in pointer variable is indicated by an arrow "pointingto something java uses the special symbol null for pointer value that points nowheresuch as for the last list node' next field null pointer is indicated graphically by diagonal slash through pointer variable' box the vertical line between the nodes labeled and in figure (aindicates the current position the first link node of the list is accessed from pointer named head to speed access to the end of the listin particular to allow the append method to be performed in constant timea pointer named tail is also kept to the last link