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
