Indhold
Kø er en dynamisk datastruktur, hvorfra du kan få adgang til data i en "first-come, first-out" -proces. En stak er en dynamisk datastruktur, hvorfra du kan få adgang til dataene i en "sidste-in, first-out" -proces. Hvis du implementerer en stak, bliver kun det sidste element, du indtaster, tilgængeligt. Hvis du vil få adgang til de data, der er grundlaget for det (det første element du sætter), så behandler du det som en kø. For at gøre dette skal du implementere en anden bunke.
retninger
Implementering af en kø med to stabler er enkel (Ablestock.com/AbleStock.com/Getty Images)-
Skriv din kode i teksteditoren for at implementere stakken i overensstemmelse med de procedurer og funktioner, der er tilgængelige i det programmeringssprog, du vil bruge. Ring til denne Stack_Entry-stak. Sæt dataene i Stack_Entry (mange programmeringssprog bruger kommandoen "push" for at tilføje data). Kør for eksempel "push" kommandoen i Stack_Entry for at indtaste dataene i følgende rækkefølge: "A", "B" og "C". "A" er den første til at indtaste og er i bunden af stakken. Hvis du vil få adgang til dette første element, behandler du dataene som en kø.
-
Skriv koden for at implementere en anden stak i henhold til de procedurer og funktioner, der er tilgængelige i det programmeringssprog, du vil bruge. Kald det StackSafe (mange programmeringssprog bruger "pop" -kommandoen til at fjerne data fra en stak).
-
Fjern hvert element fra Stack_Insert-stakken og læg dem i sovestakken. Generelt fjerner du et Stack_Input-element og placerer det i StackAid. Så kontrollerer du om Stack_Input er tom. Hvis det ikke er tomt, skal du fjerne det næste punkt fra Stack_Input og placere det i sovestakken. Gentag, indtil Stack_Input er tom. I vores eksempel fjerner du "C" fra Stack_Input og sætter det i Stack_Aid. Sørg for, at InputPilot er tom. Fjern "B" fra Stack_Input og sæt det til Stack_Aid. Sørg for, at InputPilot er tom. Fjern "A" fra Stack_Input og sæt det til Stack_Aid. Sørg for, at InputPilot er tom.
-
Når Stack_Path-stakken er tom, er emnet, der var i Stack_Input ("A" i vores eksempel), nu øverst på Stack_Aside. Fjern SleepSeat-elementet, og du har vendt din stack til en kø. Dit første element i stakken er nu det første emne, der skal tages ud (først ind, først ud eller FIFO i første ind, først ud).
To stakke svarer til en række
tips
- De fleste programmeringssprog giver funktioner til behandling af data i en vektor som om det var en kø eller en stak. Det vil sige, at du kan få adgang til både den sidste og den første position af vektoren uanset hvilken ende du indtaster data fra. Hvis dine data er i en vektor, behøver du ikke bekymre dig om at få adgang til dem som en kø eller stak. Men hvis dine data er i en dynamisk bunke, og du vil behandle den som en kø, skal du implementere en anden bunke.
Hvad du har brug for
- En teksteditor
- En kompilator eller tolk for nogle programmeringssprog