Så här implementerar du en kö med två staplar

Författare: Laura McKinney
Skapelsedatum: 3 April 2021
Uppdatera Datum: 18 November 2024
Anonim
Så här implementerar du en kö med två staplar - Artiklar
Så här implementerar du en kö med två staplar - Artiklar

Innehåll

Kö är en dynamisk datastruktur där du kan komma åt data i en "först-kommande, först ut" -process. En stapel är en dynamisk datastruktur från vilken du kan komma åt data i en "sista in, först ut" -process. Om du implementerar en stapel blir bara det sista objektet du anger tillgängligt. Om du vill komma åt de data som ligger till grund för det (det första du lägger), så behandlar du det som en kö. För att göra detta måste du genomföra en andra hög.


vägbeskrivning

Genomförandet av en kö med två staplar är enkel (Ablestock.com/AbleStock.com/Getty Images)

    Två staplar är lika med en rad

  1. I din textredigerare skriver du koden för att implementera stacken enligt de procedurer och funktioner som finns tillgängliga i det programmeringsspråk du vill använda. Ring den här Stack_Entry-stacken. Lägg data i Stack_Entry (många programmeringsspråk använder "push" -kommandot för att lägga till data). Till exempel kör "push" -kommandot i Stack_Entry för att mata in data i följande ordning: "A", "B" och "C". "A" är den första som kommer in och ligger längst ner i stapeln. Om du vill komma åt det här första objektet behandlar du data som en kö.


  2. Skriv koden för att implementera en andra stapel enligt de procedurer och funktioner som finns i det programmeringsspråk som du vill använda. Kalla det StackSafe (många programmeringsspråk använder kommandot "pop" för att ta bort data från en stapel).

  3. Ta bort varje objekt från Stack_Insert-stacken och placera dem i sovstacken. Generellt tar du bort ett Stack_Input-objekt och placerar det i StackAid. Då kontrollerar du om Stack_Input är tomt. Om det inte är tomt, ta bort nästa objekt från Stack_Input och placera det i sömnstacket. Upprepa tills Stack_Input är tomt. I vårt exempel tar du bort "C" från Stack_Input och lägger den i Stack_Aid. Kontrollera att InputPilot är tomt. Ta bort "B" från Stack_Input och ställ den till Stack_Aid. Kontrollera att InputPilot är tomt. Ta bort "A" från Stack_Input och ställ den till Stack_Aid. Kontrollera att InputPilot är tomt.


  4. När Stack_Path-stacken är tom är objektet som stod i Stack_Input ("A" i vårt exempel) nu högst upp på Stack_Aside. Ta bort SleepSeat-objektet och du har vunnit din stack i en kö. Ditt första objekt i stapeln är nu det första objektet som ska tas ut (först in, först ut eller FIFO i först in, först ut).

tips

  • De flesta programmeringsspråk ger funktioner för att behandla data i en vektor som om det var en kö eller en stack. Det vill säga, du kan få tillgång till både den sista och den första positionen för vektorn oavsett vilket slut du anger data från. Om dina data finns i en vektor behöver du inte oroa dig för att komma åt dem som en kö eller en stack. Men om dina data finns i en dynamisk hög och du vill behandla den som en kö, bör du implementera en andra stapel.

Vad du behöver

  • En textredigerare
  • En kompilator eller tolk för vissa programmeringsspråk

Faror av Safflor Olja

Randy Alexander

November 2024

afflower är en växt infödd till Iran från Indien, Nordamerika och Fjärran Ötern. Det har använt för att behandla kallighet, koleterol, eentiell fettyrabrit och ...

Hemskelettmodell

Randy Alexander

November 2024

Det mänkliga kelettet är boktavligen ryggraden och trukturen i kroppen. Det är nödvändigt att hålla det tående; utan honom kulle vi inte komma från marken. Barn...

Vår Rekommendation