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

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.

主站蜘蛛池模板: 广德县| 天气| 绥江县| 河津市| 桐柏县| 西宁市| 镇平县| 武陟县| 西林县| 德州市| 板桥市| 宣武区| 西青区| 交城县| 启东市| 吉水县| 吉安市| 永兴县| 汉寿县| 曲阜市| 泸溪县| 那坡县| 开封县| 团风县| 鲁甸县| 松溪县| 工布江达县| 观塘区| 青铜峡市| 淳化县| 沁阳市| 扶余县| 南华县| 郸城县| 外汇| 连州市| 乌什县| 临江市| 社旗县| 新乡市| 手游|