Dinamikus adatszerkezetek December - számítástechnika, programozás
Az Oktatási Minisztérium és a tudomány
Szövetségi Oktatási Ügynökség
Állami oktatási felsőoktatási intézmény
„Omszk Állami Műszaki Egyetem”
Department of Applied Mathematics és Információs Rendszerek
Természetesen a munka a fegyelem „módszerek magas szintű”
Dinamikus adatszerkezetek: december
1. függelék szövegét a program
2. függelék Form
Az objektum-orientált programozás - természetes kiterjesztése a strukturált programozás. Az objektum-orientált programozás igényel komplex cselekvési program, de ez egy olyan programot létrehozni elég könnyű. Ez megteremti a tökéletes kódokat, így könnyen terjeszthető, és könnyen karbantartható. A létrehozott alkalmazás objektum használható más alkalmazásokban. Újrafelhasználása tárgyak sokkal csökkenti a fejlesztési időt és növeli a termelékenységet. Az objektum-orientált programozás használatán alapuló osztályok. Osztályok segítségével - ez a fő különbség a C ++ nyelvet a C nyelvet, amelyre épül.
Osztály, valamint a „tárgy” egy fontos fogalom az objektumorientált programozás. Osztály kifejezés olyan entitás, amely meghatározza a közös viselkedés tárgyakat. Így bármilyen tárgy tartozik, vagy nem tartozik egy bizonyos osztály, hogy van, vagy nincs magatartás, amely az osztály jelenti. Az osztály határozza meg a szabályokat a tárgy, amellyel a tárgy működhet más tárgyakat, ez általában úgy történik, módszereit meghatározó az osztály.
Továbbá, az osztályok lehetnek egymással különböző módokon, mint például öröklés vagy aggregációt.
Osztály - gyűjteménye kapcsolódó információs, amely magában foglalja mind az adatok és funkciók. Osztály - továbbfejlesztése szerkezetek: integrálja az adatokat a különböző típusú őket. Ez ugyanaz a minta, amely szerint, mint a szerkezet, a memóriát csak akkor, ha létrehozunk egy „sablon ilyen típusú változó”.
Az osztály definíciója a tagjainak listája. Ahhoz, hogy a tagok az osztály a mezők (tulajdonságok) és funkciók (módszerek).
Minden osztály tagja, akkor telepítse a hozzáférési terület (hozzáférés-vezérlési szint). Az osztály tagjai hozzáférési terület határozza szakaszai kódja, amely a tag lehetne kezelni. A legtöbb objektum-orientált programozási nyelvet támogat a következő hozzáférési nagysága:
· Magán (saját, belső tag osztály) - utalva a tag csak akkor engedélyezett, a kód osztály módszerek, amelyekben ez a fogalom meghatározása. Bármilyen alosztály nem lesz képes, hogy hozzáférjen az adott tag;
· Védett (védett, belső tagja az osztály hierarchia) - a vérkeringést a pénisz megengedett a kódot osztály módszerek, amelyekben ez a fogalom meghatározása, vagy bármely abból származó osztályon;
· Nyilvános (nyílt osztály tagja) - a vérkeringést a pénisz megengedett semmilyen kódot.
Minden osztály jellemzőit határozza meg a tárgyakat, hogy használja az adott osztályban. Az osztály is meg a program, az úgynevezett a módszer, amely kezeli a tulajdonságait is ebbe a csoportba tartozó. viselkedését egy objektum a valós világban határozza meg a jellemzőket. Megváltoztatja a tulajdonságait, megkapjuk eltérő viselkedését tárgyakat. Amikor létrehozunk egy példányát az osztálynak, és határozzuk meg a sajátos jellemzőit, akkor egy adott objektumot. Ennek része az osztály van egy speciális eljárás, amely létrehoz egy példányát az osztálynak. Ez a módszer a neve a tervezők. Ezzel szemben a kivitelező, a romboló, van egy program, amely elpusztítja az osztály példányát a memóriában.
Hozzon létre egy osztályt „December”.
1. hozzáadása elemet a felső fedélzeten.
2. eltávolítása elemet elejétől a fedélzeten.
3. hozzáadása elemet, hogy a végén a fedélzeten.
4. Egy elem törlése a fedélzet végén.
5. ellenőrzése jelenlétére fedélzet elemek benne.
Dinamikus adatszerkezetek: december
A programozási nyelvek, van egy módja annak, hogy a memóriát az adatok, amelyek az úgynevezett dinamikus. Ebben az esetben a memória rendelt érték a futás során. Ezeket az értékeket nevezzük dinamikus. KATEGÓRIA memória kell elosztani statikusan, az úgynevezett statikus memória; dinamikusan memóriát része úgynevezett dinamikus memória (kupac memória).
Használata dinamikai mennyiségek ad a programozó számos további funkciókat. Először is, a dinamikus memória kapcsolat megnöveli az adatok feldolgozása folyamatban van. Másodszor, ha a szükség semmilyen adat megszűnik vége előtt a program, akkor a memória általuk elfoglalt lehet szabadítani az egyéb információkat. Harmadszor, a dinamikus memória lehetővé teszi, hogy a változó méretű adatszerkezeteket.
A dinamikus értékek használatával összefüggő más típusú adatok - referencia típus. Változók referencia típus, az úgynevezett mutatók.
Strukturált adattípusok, mint a tömbök, több rögzítési, statikus struktúrák létrehozását, mivel méretük változatlan marad teljes ideje alatt a program.
Gyakran szükséges, hogy az építmények változtatni méreteiket során a probléma megoldásának. Ezek a szerkezetek közé tartoznak listák (odnapravlennye, kétirányú, kör alakú, és a gyűrű alakú odnapravlennye kétirányú), halom, fedélzet, sorok, fák és mások. Leírása a dinamikus struktúrák segítségével tömbök, rekordok és fájlok vezet pazarló felhasználása számítógép memóriájában, és növeli az idő problémák megoldásához.
Dinamikus szerkezet az úgynevezett decompositions (Engl deque - rövidítése kettős végű sorban, deque.) Vagy kétirányú listát, ha minden egyes szerelvény tartalmaz két pointert: az egyik utal előző csomópontból, a másik - a következő. Az ilyen listák lehetnek lineárisak vagy ciklusosak, és a tagok azok adunk hozzá, és eltávolítjuk a 2 oldala.


Mi lesz megkülönböztetni fedélzetet korlátozott vagy korlátozott kimeneti port; Az ilyen fedélzetet, illetve kizárás vagy felvétel megengedett csak az egyik végén.


Ábra. December 2. korlátozott beviteli


Ábra. December 3. korlátozott hozamú
December korlátozott bemenet használható olyan egyszerű, mint egy köteg vagy sorból.
A fedélzet valamennyi kivételt és kiegészítések fordul elő mindkét végén.
December egyszerűen lehet rendezni egy dvusvyazannogo aciklikus listát. Ebben az esetben az első és az utolsó elem a listában megfelelnek a bemenet (output) fedélzeten.
Előállított osztály a program neve DEQ.
Ez az osztály végre kell hajtania a betét funkciója és eltávolítása elemet elején és végén a fedélzeten.
Ahhoz, hogy hozzon létre egy osztályt „December” először létre kell hozni egy-szerkezet egy mutató a következő elemre. Ebben a programban, egy ilyen szerkezet Node.
Amikor létrehoz egy osztályt kell létrehozni mutatókat az első és utolsó eleme a fedélzeten. Ezek a jelek vannak írva magán, t. E. Lásd ezeket a jeleket az egyetlen lehetséges módszer DEQ osztályban.
A területen való nyilvános hozzáférés előírt osztály előírt módszerek kialakításában a probléma.
Jelek eredetileg kijelölt üres értéket (NULL).
Hozzáadása egy elemet, hogy a felső fedélzet
Elem hozzáadása a felső fedélzet használják osztály módszer add. Paraméterei adunk elemet b.
Szükség van egy új elem csomópont szerkezete (el). El elem értéke a megadott szám a billentyűzeten. Elem hozzáadása a tetején a fedélzetre, az szükséges, hogy a cella üres volt. Ezért, a feltétel jelenlétében vizsgáltuk az elem cella. Ha a cella nem üres, a mutató az első elemre mozgatja a következő cellába, és amelyben az elem van rögzítve. A sejtek száma 1-gyel növekszik.
Ha eltávolít egy elemet a kezdetektől fedélzet
Távolítani egy elemet az elejétől a fedélzet egy osztály módszer törölni.
Eltávolító elem fordul elő ugyanazt az algoritmust használva, de a sejt nem ellenőrzi a jelenlétét elem ott. El elem rendelkezik egy mutatót, és egy mutatót az első lépéseket a következő cellába. Ezután El elem eltávolítjuk, és a sejtek számát eggyel csökken.
Elem hozzáadása a végén a fedélzeten
Elem hozzáadása a felső fedélzet használt osztály módszer add_end. Paraméterei adunk elemet b.
Szükség van egy új elem csomópont szerkezete (el). El elem értéke a megadott szám a billentyűzeten. Elem hozzáadása a végén a fedélzeten, az szükséges, hogy a cella üres volt. A mutató az utolsó elem átkerül a következő cella, amely rögzítésre kerül elemet. Ezután egy mutatót az utolsó elem mozgatja a következő cellába, ami NULL. A sejtek száma 1-gyel növekszik.
Egy elem törlése végétől a fedélzet
Távolítani egy elemet az elejétől a fedélzet egy osztály módszer delete_end.
Ahhoz, hogy távolítsa el az elemet a végén a fedélzeten létre kell hozni egy új elemet struktúrák Node (el). El elem rendelt egy mutatót az első elemet. Míg el nem veszi NULL értékeket, a tétel lesz állítva a következő elem. Ezután el kell hagyni, és a hivatkozás az utolsó elemhez értéket el. A sejtek száma csökken.
Megfigyeljük, hogy jelen a fedélzet elem abban
A bevizsgálás során használt osztály módszer prov. Ez a módszer a Boolean.
Ahhoz, hogy ellenőrizze a jelenlétét elemek a fedélzeten, egy új elem csomópontja szerkezetét és hozzá van rendelve egy mutatót az első fedélzetre elem. Ha a cella nem üres, akkor igazat ad vissza, egyébként hamis.
O funkció a fedélzeten StringGrid
Ez a funkció szükséges, hogy megjelenítse a beillesztését és eltávolítását elemek a táblázatban StringGrid. Feature növeli a sejtek számát a táblázatban, ha azt észleli, hogy a cella nem üres.
Zárja be a programot akkor kattintson a „Close” gombra, vagy F10. Következtetés A minősítő igyekeztünk feltárni részletesen és világosan a fogalom a lineáris lista, egyirányú és kétirányú listák, vermek, sorok, és a fedélzet. A forma és megszilárdítása oktatási érdeklődés a téma a diákok körében. Azonosítása és fejlesztése a kreatív készségek használatát a megszerzett készségek.





segítségével egy tömb vagy lista vonal segítségével egy tömb vagy listát. Most tekintsük a sorozat a fenti adatszerkezetet ry és képviseletük alatt prstye alkalmazandó Pascal nyelven. 2.2 _Massiv változó vagy állandó, amelynek sorban struktúrát, a célt szolgálja meghatározott elemek azonos típusú. Minden egyes komponens a tömbben.