<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 19, 2016 at 6:13 PM, David Feuer <span dir="ltr"><<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">Using a zipper will not get you very far here. The best way would</span><br style="font-size:12.8px"><span style="font-size:12.8px">likely be to replace the list with a balanced search tree. </span><br></blockquote></div><div class="gmail_extra"><br></div>That depends on the pattern of access and usage.  For some a zippered list will outperform a self-balancing tree and vice versa.  For others a zippered tree, or something else, will beat either.  But when seeing the pattern of changing a single element in the middle of a list, a zippered list is the first improved data structure that comes to mind.<br><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><br>    Carl Edman</div></div>
</div></div>