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

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.

主站蜘蛛池模板: 肇州县| 本溪市| 宾阳县| 娄烦县| 芒康县| 通许县| 商丘市| 大埔县| 霸州市| 涡阳县| 应城市| 新乡市| 柘荣县| 陇川县| 呼图壁县| 澄迈县| 包头市| 阜新| 海淀区| 贺州市| 安阳市| 马山县| 遂溪县| 新巴尔虎右旗| 于都县| 资中县| 乌海市| 永安市| 句容市| 伊春市| 库尔勒市| 田东县| 洪泽县| 宾阳县| 徐州市| 涞水县| 麻栗坡县| 甘德县| 潜江市| 乌拉特中旗| 济南市|