title: ordered doubly linked list search
body: <p>suppose we have doubly linked list ordered by integer value:</p>
  
  <pre><code>struct ListItem
  {
    int value;
    ListItem *prev, *next;
  };
  
  struct List
  {
    ListItem *first, *last;
    int count;
  };
  </code></pre>
  
  <p>can we use faster search algorithm such as binary search to locate <code>ListItem</code> inside <code>List</code> and how?</p>