2010/8/27 Levente Uzonyi <[email protected]>:
> On Thu, 26 Aug 2010, Lukas Renggli wrote:
>
>> I wonder why there is the need for a stack class at all?
>>
>> OrderedCollection is the class designed to do Stacks and Queues
>> efficiently and portably, see #addFirst:, #addLast:, #first, #last,
>> #removeFirst, #removeLast.
>
> If so, then there are some problems:
>
> o := OrderedCollection new: 1000.
> 1 to: 1000 do: [ :each | o add: each ].
> [ 100000 timesRepeat: [ o addFirst: o removeLast ] ] timeToRun. "===> 11660"
>
>
> Levente
>

OrderedCollection could be implemented differently, like for example
having a circular array and maintaining a firstIndex and size instead
of lastIndex.

The main drawback would be that fast copy/replace would have to be
split in two parts.

Nicolas

>>
>> Lukas
>>
>> 2010/8/26 Bart Gauquie <[email protected]>:
>>>
>>> Hi list,
>>>
>>> is there a specific reason Stack is extending from LinkedList, instead of
>>> using a LinkedList internally?
>>> To me, it seems that the protocol that LinkedList,
>>> SequenceableCollection,
>>> ... provides is not the protocol you expect from a Stack?
>>>
>>> Any thoughts on this?
>>>
>>> Kind regards,
>>>
>>> Bart
>>>
>>> --
>>> imagination is more important than knowledge - Albert Einstein
>>> Logic will get you from A to B. Imagination will take you everywhere -
>>> Albert Einstein
>>> Learn from yesterday, live for today, hope for tomorrow. The important
>>> thing
>>> is not to stop questioning. - Albert Einstein
>>> The true sign of intelligence is not knowledge but imagination. - Albert
>>> Einstein
>>> However beautiful the strategy, you should occasionally look at the
>>> results.
>>> - Sir Winston Churchill
>>> It's not enough that we do our best; sometimes we have to do what's
>>> required. - Sir Winston Churchill
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to