<div dir="ltr">This should at least be better than a double reverse:<br><br>1> L = ["A", "B", "C", "D", "E"].<br>["A","B","C","D","E"]<br>
2> [_|L2] = L.<br>["A","B","C","D","E"]<br>3> L2 ++ ["F"].<br>["B","C","D","E","F"]<br><br><br><div class="gmail_quote">
2008/8/22 Hynek Vychodil <span dir="ltr"><<a href="mailto:vychodil.hynek@gmail.com">vychodil.hynek@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">Look at queue module. Copy is performed, but only once if you work only one way.<div><div></div><div class="Wj3C7c"><br><br><div class="gmail_quote">On Fri, Aug 22, 2008 at 3:34 PM, Colm Dougan <span dir="ltr"><<a href="mailto:colm.dougan@gmail.com" target="_blank">colm.dougan@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
If I have a list of a fixed size (say 10,000 elements).  What is the<br>
most efficient way to add a new item to the list and force out the old<br>
first element.  By most efficient I mostly mean without having to copy<br>
the entire list each time, if that is even possible.<br>
<br>
I'm currently doing a double reverse trick, e.g. :<br>
<br>
Eshell V5.6.3  (abort with ^G)<br>
1> L1 = ["A", "B", "C", "D", "E"].<br>
["A","B","C","D","E"]<br>
2> [_ | L2] = L1.<br>
["A","B","C","D","E"]<br>
3> lists:reverse(["F" | lists:reverse(L2)]).<br>
["B","C","D","E","F"]<br>
<br>
Is there a more efficient way?  I tried a benchmark and the reverse<br>
seems more costly than I expected.<br>
<br>
Colm<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br><br clear="all"><br></div></div>-- <br>--Hynek (Pichi) Vychodil<br>
</div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br></blockquote></div><br></div>