Sådan implementeres en kø med to stabler

Forfatter: Laura McKinney
Oprettelsesdato: 3 April 2021
Opdateringsdato: 18 November 2024
Anonim
Sådan implementeres en kø med to stabler - Artikler
Sådan implementeres en kø med to stabler - Artikler

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)

    To stakke svarer til en række

  1. 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ø.

  2. 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).


  3. 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.

  4. 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).


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

Sådan poleres glasets kanter

John Pratt

November 2024

Når du kærer gla, er det vigtigt at være å nøjagtig og ren om muligt. kæring med upræci eller hat kan gøre kanterne meget ru og næten umulige at glatte. el...

Rationering af æg under Anden Verdenkrig kan have tartet udviklingen af ​​opkrifter, der bruger eddike i tedet for æg. Eddike gør kagedejen urere, hvilket får proteinerne i melet t...

Del