Kako izvajati čakalno vrsto z dvema skladoma

Avtor: Laura McKinney
Datum Ustvarjanja: 4 April 2021
Datum Posodobitve: 16 April 2024
Anonim
CS50 2015 - Week 0
Video.: CS50 2015 - Week 0

Vsebina

Čakalna vrsta je dinamična podatkovna struktura, iz katere lahko dostopate do podatkov v postopku »prvi prispe, prvi izstop«. Stack je dinamična podatkovna struktura, iz katere lahko dostopate do podatkov v postopku "zadnja v, prva-ven". Če izvedete sklad, bo na voljo le zadnji element, ki ga vnesete. Če želite dostopati do podatkov, ki so podlaga za to (prva postavka, ki ste jo dali), jo boste obravnavali kot čakalno vrsto. Če želite to narediti, morate izvesti drugo kopico.


Navodila

Implementacija čakalne vrste z dvema nizoma je preprosta (Ablestock.com/AbleStock.com/Getty Images)

    Dva niza sta enaka vrstici

  1. V urejevalniku besedil napišite kodo za izvedbo skladov v skladu s postopki in funkcijami, ki so na voljo v programskem jeziku, ki ga želite uporabiti. Pokličite ta sklad Stack_Entry. Vnesite podatke v Stack_Entry (veliko programskih jezikov uporablja ukaz "push" za dodajanje podatkov). Na primer, zaženite ukaz "push" v Stack_Entry, da vnesete podatke v naslednjem vrstnem redu: "A", "B" in "C". "A" je prvi, ki vstopi in je na dnu sklada. Če želite dostopati do tega prvega elementa, podatke obravnavate kot čakalno vrsto.

  2. Napišite kodo za izvedbo drugega sklada glede na postopke in funkcije, ki so na voljo v programskem jeziku, ki ga želite uporabiti. Pokličite ga StackSafe (mnogi programski jeziki uporabljajo ukaz "pop" za odstranitev podatkov iz sklada).


  3. Odstranite vse elemente iz sklada Stack_Insert in jih postavite v Sleep Stack. Na splošno odstranite postavko Stack_Input in jo postavite v StackAid. Potem preverite, ali je vhod Stack_Input prazen. Če ni prazen, odstranite naslednji element iz vhoda Stack_In in ga postavite v stanje mirovanja. Ponavljajte, dokler je vhod Stack_Input prazen. V našem primeru odstranite "C" iz Stack_Input in ga postavite v Stack_Aid. Prepričajte se, da je InputPilot prazen. Odstranite "B" iz vhoda Stack_Input in ga nastavite na Stack_Aid. Prepričajte se, da je InputPilot prazen. Odstranite "A" iz vhoda Stack_Input in ga nastavite na Stack_Aid. Prepričajte se, da je InputPilot prazen.

  4. Ko je sklad Stack_Path prazen, je postavka, ki je bila v vhodu Stack_Input ("A" v našem primeru) zdaj na vrhu Stack_Aside. Odstranite element SleepSeat in svoj stack ste spremenili v čakalno vrsto. Prvi element v skladu je zdaj prvi element, ki ga je treba odstraniti (prvi v, prvi izhod ali FIFO v prvi v, prvi ven).


Kako

  • Večina programskih jezikov ponuja funkcije za obdelavo podatkov v vektorju, kot če bi bila vrsta ali sklad. To pomeni, da lahko dostopate do zadnjega in prvega položaja vektorja, ne glede na to, s katerega konca vnesete podatke. Če so vaši podatki v vektorju, vam ni treba skrbeti za dostop do njih kot čakalne vrste ali stack. Toda če so vaši podatki v dinamičnem kupu in ga želite obravnavati kot čakalno vrsto, potem izvedite drugi sklad.

Kaj potrebujete

  • Urejevalnik besedila
  • Prevajalnik ali tolmač za programski jezik

Preskusi disgrafije

John Pratt

April 2024

Digrafija je nevrološka motnja rokopia. Digrafki bolniki težko pravilno črkujejo beede; beede, ki jih vidijo in lišijo, obdelajo drugače. Zaradi tega jim pišejo beede črkami v napačnem vrtnem redu, ta...

Kako zagnati "PS1.bin" na PS3

John Pratt

April 2024

Ko je ony predtavil Playtation 3, o bili prvi modeli združljivi z igrami P1 in P2. Na žalot o bile te funkcije kaneje odtranjene konzole za optimizacijo troškov P3. Vendar pa je aplikacija na tej konz...

Popularni Članki