官术网_书友最值得收藏!

Linked lists

To keep track of a bunch of items, there is a simple solution: with each entry in the list, store a pointer to the next entry. If there is no next item, store null/nil/None and so on, and keep a pointer to the first item. This is called a singly linked list, where each item is connected with a single link to the next, as shown in the following diagram—but you already knew that:

What are the real use cases for a linked list though? Doesn't everyone just use a dynamic array for everything?

Consider a transaction log, a typical append-only structure. Any new command (such as a SQL statement) is simply appended to the existing chain and is eventually written to a persistent storage. Thus, the initial requirements are simple:

  • Append a command to an existing list
  • Replay every command from the beginning to the end—in that order

In other words, its a queue (or LIFO—short for Last In First Out) structure.

主站蜘蛛池模板: 西安市| 襄垣县| 华亭县| 资溪县| 东宁县| 张家界市| 宜昌市| 潍坊市| 务川| 廉江市| 万年县| 四平市| 峨眉山市| 江西省| 灵丘县| 陆良县| 滨州市| 新乐市| 望城县| 河北区| 德州市| 怀宁县| 西和县| 磐石市| 新乡市| 来宾市| 柏乡县| 桐庐县| 嘉禾县| 雅安市| 曲松县| 仁寿县| 恩平市| 延吉市| 商丘市| 东方市| 福清市| 锡林郭勒盟| 禹城市| 吉林省| 吴桥县|