Artifact Content

Artifact df74a5551904cd8e0c6687433508341bbd64eab8:

Wiki page [Doubly-Linked List] by Entomy 2017-07-08 21:05:53.
D 2017-07-08T21:05:53.685
L Doubly-Linked\sList
U Entomy
W 1372
<h1>Purpose</h1>
<p>As long as data isn't structured the doubly-linked list is among the most flexible for working with data sets.</p>
<p>In the overwhelming majority of cases, this is the container you want to be working with.</p>

<h1>Notable Features</h1>
<h2>Non-Deallocative Traversal</h2>
<p>Traversal between nodes of any list type does not remove the previous node, so they behave more like arrays.</p>
<p>Unlike the [Singly-Linked List] traversal is possible in either direction.</p>
<h2>Insertion</h2>
<p>Unlike the [Stack] or [Queue], or the Array, nodes can be inserted inside the list without requiring a new list.</p>
<h2>Queries</h2>
<p>Some queries are possible upon this generalized list, and are made available here. Whether a list contains a value, all instances of a certain value, former N values, hinder N values, and so on. All of these queries either return a boolean or another list which can be queried.</p>

<h1>Considerations</h1>
<p>Use of an iterator is slower than traversal through <codeNode.Afore</code and <code>Node.Ahind</code>, due to the implementation. This is because the list operations largely operate on nodes themselves, not on a cursor, so the cursor heavy iterator has additional overhead. Being simpler, iterators are good for prototyping or when performance doesn't matter, but manual traversal is advised.</p>
Z ed0cfa68889d281fb9430e6ac79382c5