Conţinut
Coada este o structură dinamică a datelor, din care puteți accesa datele într-un proces "primul venit, primul venit". O stivă este o structură de date dinamică din care puteți accesa datele într-un proces "last-in, first-out". Dacă implementați un teanc, va deveni disponibil numai ultimul element pe care îl introduceți. Dacă doriți să accesați datele care stau la baza acesteia (primul element pe care l-ați pus), atunci veți fi tratat ca o coadă. Pentru a face acest lucru, trebuie să puneți în aplicare oa doua grămadă.
instrucțiuni de ghidare
Implementarea unei coadă utilizând două stive este simplă (Ablestock.com/AbleStock.com/Getty Images)-
În editorul de text, scrieți codul pentru implementarea stiva conform procedurilor și funcțiilor disponibile în limba de programare pe care doriți să o utilizați. Sunați la acest stack Stack_Entry. Introduceți datele în Stack_Entry (multe limbi de programare utilizează comanda "push" pentru a adăuga date). De exemplu, executați comanda "push" în Stack_Entry pentru a introduce datele în ordinea următoare: "A", "B" și "C". "A" este primul care intră și se află în partea de jos a stivei. Dacă doriți să accesați acest prim element, tratați datele ca o coadă.
-
Scrieți codul pentru implementarea unui al doilea stack în conformitate cu procedurile și funcțiile disponibile în limba de programare pe care doriți să o utilizați. Se numește StackSafe (multe limbi de programare utilizează comanda "pop" pentru a elimina datele dintr-un teanc).
-
Eliminați fiecare element din stiva Stack_Insert și plasați-l în Sleep Stack. În termeni generali, eliminați un element Stack_Input și plasați-l în StackAid. Apoi verificați dacă Stack_Input este gol. Dacă nu este gol, eliminați următorul element din Stack_Input și plasați-l în Sleep Stack. Repetați până când Stack_Input este gol. În exemplul nostru, eliminați "C" din Stack_Input și puneți-l în Stack_Aid. Asigurați-vă că InputPilot este gol. Eliminați "B" din Stack_Input și setați-l la Stack_Aid. Asigurați-vă că InputPilot este gol. Eliminați "A" din Stack_Input și setați-l la Stack_Aid. Asigurați-vă că InputPilot este gol.
-
Când stack-ul Stack_Path este gol, elementul care a fost în baza Stack_Input ("A" din exemplul nostru) este acum în partea de sus a Stack_Aside. Scoateți elementul SleepSeat și ați transformat coșul în coadă. Primul tău element din stack este acum primul element care trebuie scos (primul, primul sau cel mai întâi în FIFO).
Două stive egalează un rând
sfaturi
- Majoritatea limbajelor de programare oferă funcții pentru tratarea datelor într-un vector ca și cum ar fi o coadă sau o stivă. Asta înseamnă că puteți accesa atât ultima, cât și prima poziție a vectorului, indiferent de sfârșitul în care introduceți datele. Dacă datele dvs. sunt într-un vector, nu trebuie să vă faceți griji cu privire la accesarea acestora ca o coadă sau stivă. Dar dacă datele dvs. sunt într-o grămadă dinamică și doriți să o tratați ca o coadă, atunci ar trebui să implementați un al doilea stack.
Ce ai nevoie
- Un editor de text
- Un compilator sau interpret pentru un anumit limbaj de programare