Linked list végrehajtása stack

használata helyett tömb, mi is használható linked list végrehajtására stack. A csatolt lista dinamikusan lefoglalja a memóriát. Az idő bonyolultsága azonban mindkét forgatókönyvben azonos az összes műveletnél, azaz a push, a pop és a peek esetében.

a stack linked list implementációjában a csomópontok nem összefüggő állapotban vannak a memóriában. Minden csomópont tartalmaz egy mutatót a verem közvetlen utódcsomópontjára. Azt mondják, hogy a verem túlterhelt, ha a memória halomban maradt hely nem elegendő egy csomópont létrehozásához.

DS csatolt lista megvalósítási verem

a verem legfelső csomópontja mindig null-t tartalmaz a címmezőjében. Lehetővé teszi, hogy megvitassák, hogy milyen módon, minden művelet végrehajtásra láncolt lista végrehajtása verem.

Csomópont hozzáadása a veremhez (Push művelet)

Csomópont hozzáadása a veremhez push műveletnek nevezzük. Nyomja egy elemet egy verem csatolt lista végrehajtása eltér a tömb végrehajtását. Annak érdekében, hogy egy elemet a veremre nyomjon, a következő lépéseket kell végrehajtani.

  1. először hozzon létre egy csomópontot, és foglaljon hozzá memóriát.
  2. ha a lista üres, akkor az elemet a lista kezdő csomópontjaként kell nyomni. Ez magában foglalja az érték hozzárendelését a csomópont adatrészéhez, A null hozzárendelését a csomópont címrészéhez.
  3. ha már van néhány csomópont a listában, akkor hozzá kell adnunk az új elemet a lista elejére (hogy ne sértsük meg a verem tulajdonságát). Ehhez rendelje hozzá a kezdő elem címét az új csomópont címmezőjéhez, és készítse el az új csomópontot, a lista kezdő csomópontját.
  4. idő komplexitás: o(1)

    DS csatolt lista megvalósítási verem

    C megvalósítás :

    csomópont törlése a veremből (POP művelet)

    csomópont törlése a verem tetejéről pop műveletnek nevezzük. A csomópont törlése a stack csatolt listájának megvalósításából eltér a tömb megvalósításától. Annak érdekében, hogy pop egy elemet a verem, meg kell, hogy kövesse az alábbi lépéseket :

    1. ellenőrizze a underflow feltétel: az underflow feltétel akkor fordul elő, amikor megpróbálunk pop egy már üres verem. A verem üres lesz, ha a lista fejmutatója null-ra mutat.
    2. ennek megfelelően állítsa be a fejmutatót: a veremben az elemek csak az egyik végéről pattannak be, ezért a fejmutatóban tárolt értéket törölni kell, és a csomópontot ki kell szabadítani. A fejcsomó következő csomópontja most a fejcsomópont lesz.

    Idő Összetettsége : o (n)

    C megvalósítás

    a csomópontok megjelenítése (áthaladás)

    a verem összes csomópontjának megjelenítése a verem formájában szervezett Linkelt lista összes csomópontját át kell haladnia. Ebből a célból a következő lépéseket kell követnünk.

    1. másolja a fejmutatót egy ideiglenes mutatóba.
    2. mozgassa az ideiglenes mutatót a lista összes csomópontján, és nyomtassa ki az összes csomóponthoz csatolt értékmezőt.

    Idő Összetettsége : o (n)

    C megvalósítás

    menüvezérelt program a C-ben az összes verem művelet végrehajtása Linkelt lista segítségével :

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.