链接列表将快速插入新行或删除行,并快速向下移动(如果您有双向链接列表,则向上移动)从特定行按少量行移动,并快速移动到文件的开头.要快速移动到文档的末尾,您还需要存储链接列表的末尾.虽然转到特定的行号是相对较慢的,因为你必须从头开始并遍历行,尽管这不应该是一个问题,除非你的文档有很多行.
普通列表可以快速移动到特定行号,但添加或删除除最后行之外的任何行都很慢,因为每次插入或删除行时都需要复制整个缓冲区.
为了编辑大型文档,我更喜欢基于数组的列表上的链表.在任何一种情况下,如果文档包含任何非常长的行,因为字符串是不可变的并且更改每个字符将会很慢,则可能会出现问题.