advanced linked lists layout text editors typically work with an abstract view of the text document by assuming it is organized into rows and columns as illustrated in figure the physical storage of text document depends on the underlying data structurethough when stored on diskthe text file is simply sequential stream of charactersas illustrated in figure the end of each line in text document contains newline character (\nresulting in rows of varying sizes of unlimited length an empty document is assumed to contain single blank line where blank line would consist of single newline character as visual aidthe illustrations in the two diagrams use the -symbol to indicate the actual location of the newline character and small bullet (*to indicate blank spaces def computesumthelist sum for value in thelist sum sum value return*sum def*computesum(*thelist*)***sum*=* **for*value*in*thelist*****sum*=*sum*+*value **return*sum figure the abstract view of text document as used by most text editors (topand the same with special characters inserted for the blank spaces and newlines (bottomdef*computesum(*thelist*)*:**sum*=* **for*value*in*thelist*:***figure the file or stream view of the text document from figure text cursor text editors also use the concept of cursor to mark the current position within the document the cursor position is identified by row and an offset or character position within the given row all basic insertion and deletion operations are performed relative to the cursor note that for this example we consider the cursor to be the keyboard or text cursor and not the cursor related to the use of the mouse the cursor can be moved and positioned anywhere within the documentbut only to spot currently containing character thus you cannot randomly place characters within document as if you were writing on piece of paper to position