Linked list toteutus stack

sen sijaan, että käyttäisimme array, voimme myös käyttää linked list toteuttaa stack. Linkitetty lista jakaa muistin dynaamisesti. Kummassakin skenaariossa ajallinen monimutkaisuus on kuitenkin sama kaikille operaatioille eli push, pop ja peek.

linkitetyssä Stack-toteutuksessa solmut säilyvät ei-yhtenäisesti muistissa. Jokainen solmu sisältää osoittimen sen välittömään seuraajaan solmuun pinossa. Stackin sanotaan olevan ylilento, jos muistikasaan jäävä tila ei riitä solmun luomiseen.

DS Linked list-toteutuspino

pinon ylimmän solmun osoitekentässä on aina nolla. Lets keskustella siitä, miten, kukin toiminto suoritetaan linkitetyn luettelon täytäntöönpanoa stack.

solmun lisäämistä pinoon (Push-operaatio)

solmun lisäämistä pinoon kutsutaan push-operaatioksi. Elementin työntäminen pinoon linkitetyn luettelon toteutuksessa eroaa array-toteutuksesta. Jotta voidaan työntää Elementti pinoon, seuraavat vaiheet ovat mukana.

  1. luo ensin solmu ja jaa sille muistia.
  2. jos lista on tyhjä, kohde työnnetään listan aloitussolmuksi. Tämä sisältää arvon määrittämisen solmun dataosalle ja nollan määrittämisen solmun osoiteosalle.
  3. Jos luettelossa on jo joitakin solmuja, on lisättävä uusi elementti listan alkuun (ettei rikota pinon ominaisuutta). Tätä varten määritä alkuaineen osoite uuden solmun osoitekenttään ja tee uusi solmu, luettelon aloitussolmu.
  4. ajan monimutkaisuus: o(1)

    DS linkitetyn listan toteutuspino

    C toteutus:

    solmun poistaminen pinosta (POP-operaatio)

    solmun poistaminen pinon päältä kutsutaan pop-operaatioksi. Solmun poistaminen linkitetystä luettelosta Stack-toteutus eroaa array-toteutuksesta. Jotta pop Elementti pinosta, meidän on noudatettava seuraavia vaiheita :

    1. Tarkista alivirtaus ehto: alivirtaus ehto tapahtuu, kun yritämme pop jo tyhjä pino. Pino on tyhjä, jos listan pääosoitin osoittaa nolliin.
    2. Säädä pään osoitinta sen mukaisesti: pinossa elementit poksautetaan vain toisesta päästä, joten pään osoittimeen tallennettu arvo on poistettava ja solmu vapautettava. Päänsolmun seuraava solmu muuttuu nyt päänsolmuksi.

    Ajallinen Monimutkaisuus : o (n)

    C toteutus

    Näytä solmut (läpikäynti)

    näyttämällä kaikki pinon solmut tarvitsee kulkea kaikki linkitetyn luettelon solmut pinon muotoon järjestettynä. Tätä varten meidän on noudatettava seuraavia vaiheita.

    1. Kopioi pääosoitin väliaikaiseksi osoittimeksi.
    2. siirrä tilapäinen osoitin luettelon kaikkien solmujen läpi ja tulosta jokaiseen solmuun liitetty arvokenttä.

    Ajallinen Monimutkaisuus : o (n)

    C toteutus

    valikkopohjainen ohjelma C: ssä toteuttaen kaikki pinon toiminnot linkitetyn luettelon avulla:

You might also like

Vastaa

Sähköpostiosoitettasi ei julkaista.