Kézikönyv c #, verem osztályok verem és verem - t

Stack (stack) - egy tartály, amely azon az elven működik a "Last, first out" (utolsó, first out - LIFO). Az ábrán a képviselete a verem, ahol a Push () metódus hozzáad egy elemet, és Pop () metódus - kap hozzáadott elem az utolsó:







Kézikönyv c #, verem osztályok verem és verem - t

Gyűjteményosztályt, amely támogatja a stack hívják Stack. Ez végre interfészek ICollection, IEnumerable és ICloneable. Ez az osztály létrehoz egy dinamikus gyűjtemény, amely kibővíti a szükséges ahhoz, hogy input elemek benne. Amikor szeretné bővíteni ezt a gyűjteményt, a tárolási kapacitás megduplázódik.

A következő konstruktor meghatározott osztály Stack:

Az első forma tervező létrehoz egy üres verem, a második forma - blank stack, amely meghatározza a kezdeti mérete a kezdeti kapacitás, által meghatározott paraméter initialCapacity, és egy harmadik formája - egy köteg tartalmaz elemeket jelzi col gyűjtemény. A kezdeti kapacitása megegyezik a szám ezen elemek.







A Stack osztály határozza meg számos szabadalmazott módszer, amellett, hogy a már bejelentett interfészek, amelyek végrehajtják azt. Néhány a leggyakrabban használt módszer az ebbe az osztályba kerülnek felsorolásra. Ezek a módszerek általában a következőképpen alkalmazzák. Ahhoz, hogy egy objektumot a tetején a verem, az úgynevezett push () módszer. Annak érdekében, hogy kivonat, és távolítsa el az objektumot a verem, úgynevezett Pop () módszer. Ha az objektum csak akkor szükséges, hogy kivonat, de nem távolítják el a a verem tetején, ez az úgynevezett Peek () módszer. És ha hívja a Pop () és a Peek () metódus, ha a hívó verem üres, akkor dobja kivételt InvalidOperationException.

Stack osztály Ez egy általános egyenértékű egy osztály nem aggregált Stack gyűjtemény. Ezt támasztja alá egy köteg formájában listája alapján eljáró „elsőnek jött - az utolsó sorrend alapján.” Ez az osztály valósítja meg a Collection interfész IEnumerable és IEnumerable. Ezen túlmenően, az osztály Stack közvetlenül végrehajtott törlése () módszer, Tartalmaz () és SoruTo () az interfészben definiált ICollection. Eljárás Add () és törlése () ebben az osztályban nem támogatott, mert valóban, és az ingatlan IsReadOnly. Gyűjtemény Stack osztály Ez a dinamikus, bővülő szükség, az összes elem, hogy kell tárolni benne.

A gróf tulajdonság visszaadja a tételek számát a veremben.

Push () metódus hozzáad egy elemet a verem tetején.

Pop () metódus eltávolítja, és visszaadja az elem a verem. Ha a verem üres, kivétel típusú InvalidOperationException.

Peek () metódus visszaadja egy elemet a verem anélkül, hogy törölnénk így.

Tartalmaz () metódus ellenőrzi az elemet a verem, és visszatér igaz a megállapítás, hogy ott van.

Nézzünk egy példát: