Vermek, sorok, december

Alapján lineáris listák építhető vermek, sorok, fedélzetre.

(Az eljárás szerint működéséhez hozzáadását és törlését elem)

Stack sor december

Stack - lineáris listát egy változó hosszúságú, amelyben minden, -extenziók és adathozzáférés hajtanak végre csak az egyik végén a lista, melynek a tetején a verem.

Használt egyéb nevek verem - üzlet és kapcsolja be a működő printsipuLIFO (Last-In-First-Out - "utolsó - első kizárt"). Programozási rendszer a blokk-orientált nyelvek (Pascal, C et al.) Használja a verem tartalmazó lokális változók és eljárások más szoftver blokkok. Minden aktiválási eljárás memória lokális változók kiosztása a verem; a következtetést ezt az eljárást, a memória felszabadul. Mint mindig, amikor az eljárás szigorúan betartjuk fészkelő, a verem tetején mindig a memóriában, a helyi változókat tartalmazó aktív eljárást.

Queue - ez egy lineáris listája változó hosszúságú, ahol a kapcsoló elem végre csak egy kézzel a lista (ebben az irányban gyakran nevezik a végeken, vagy a sorban), és egy kivétel - a másik része (az úgynevezett elején a sorban, vagy fej).

Sorok is az úgynevezett „spiskamitipaFIFO» (első - - első- Out - «elsőnek jött - elsőnek kizárt").

Kezdetben a mutatókat az elején és a végén pont a kezdete a memória területet. Egyenlőség a két mutató (azok bármilyen érték) a jele egy üres sort.

December (az angol DEQ -. Dupla végű sort, azaz a sorban a két végét), egy adatstruktúra, amely a hozzáadni vagy eltávolítani az elemeket mindkét oldalról.

Igénylő feladatok fedélzeti struktúrák találhatók számítástechnika és a programozás, sokkal kisebb, mint a feladatokat végrehajtani a szerkezet a halomban vagy sorból. Általános szabály, hogy az egész szervezet a fedélzet végzi a programozó különleges eszközök használata nélkül szisztémás támogatást.

Egy példa a fedélzet lehet, például, egy terminál, ahol a bemeneti parancs, amelyek mindegyike végre egy kis időt. Ha megadja ezt a parancsot, anélkül, hogy megvárná a végén az előző futtatás, akkor csökkenni fog a sorban, és akkor lesz végrehajtva, amint rendelkezésre áll terminál. Ez egy FIFO sorban. Ha amellett, hogy bevezesse a művelet törli az utolsó bevitt parancsot kiderül, decemberben.

felvétel alkot egy aritmetikai kifejezést:

Infix - felvétel, amelyben a jel az aritmetikai művelet között található az operandusok (A + B).

Prefix - jelölést, amelyben művelet megelőzi az operandus jel (+ AB).

Postfix - felvételt, amelyben a jel műveletek mögött található operandusok (AB +).

Megjegyzés. prefix forma nem tükörképe postfix. Például:

* -AB + CD - prefix jelölést;

AB-CD + * - postfix jelölést.

Az egyik fő oka a fennálló megjelenése egy magas szintű programozási nyelv volt, a számítási feladatok, amelyek megkövetelik a nagy mennyiségű rutin számításokat. Ezért a programozási nyelvek olyan követelményeket támaszt a maximális közelítés számítási rekordot formák a természetes nyelv a matematika. Ebben a tekintetben az egyik első területek rendszer programozás alakult a tanulmány módja kifejezéseket. Számos kapott eredményeket, de a legelterjedtebb módszer a műsorszórás RPN (postfix jelölés), ami arra utalt, lengyel matematikus J. Loukachevitch.

Megtekintheti az eredeti karakterlánc balról jobbra, ha az operandusok átmásolja a kimeneti húr, és a jelek működési rögzítik a stack alapján a következő szempontokra:

Ha a következő karaktert a forrás karakterlánc nyitott zárójel, akkor a verembe;

záró zárójel kitolja minden műveletet a köteget a kimeneti vonal a legközelebbi nyitó zárójel, készüljenek fel a kimeneti karakterlánc nem újraírt, és megsemmisítik egymást;

működés kitolja az összes veremműveletekhez nagyobb vagy egyenlő prioritást a kimeneti string;

ha a verem üres, a művelet a bemeneti karakterlánc felülírja a verem.

A folyamat, mely során RPN kifejezések (A + B) * (C + D) -E vázlatosan táblázatban