chap listsstacksand queues public void movetostart(curr headpublic void movetoend(curr tail/set curr at list start /set curr at list end /move curr one step leftno change if already at front public void prev(if (curr =headreturn/no previous element link temp head/march down list until we find the previous element while (temp next(!currtemp temp next()curr temp/move curr one step rightno change if already at end public void next(if (curr !tailcurr curr next()public int length(return cnt/return length /return the position of the current element public int currpos(link temp headint ifor ( = curr !tempi++temp temp next()return /move down list to "posposition public void movetopos(int posassert (pos>= &(pos<=cnt"position out of range"curr headfor(int = <posi++curr curr next()public getvalue(/return current element if(curr next(=nullreturn nullreturn curr next(element()figure (continued