Jak zaimplementować kolejkę za pomocą dwóch stosów

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 15 Styczeń 2025
Anonim
Jak zaimplementować kolejkę za pomocą dwóch stosów - Artykuły
Jak zaimplementować kolejkę za pomocą dwóch stosów - Artykuły

Zawartość

Kolejka to dynamiczna struktura danych, z której można uzyskać dostęp do danych w procesie „kto pierwszy, pierwszy wychodzi”. Stos jest dynamiczną strukturą danych, z której można uzyskać dostęp do danych w procesie „ostatni na wejściu, pierwszy na wyjściu”. Jeśli zastosujesz stos, tylko ostatni wprowadzony przedmiot stanie się dostępny. Jeśli chcesz uzyskać dostęp do danych, które są jego podstawą (pierwszy element, który umieściłeś), będziesz traktować je jako kolejkę. Aby to zrobić, musisz zaimplementować drugą stertę.


Instrukcje

Wdrożenie kolejki za pomocą dwóch stosów jest proste (Ablestock.com/AbleStock.com/Getty Images)

    Dwa stosy równe rzędowi

  1. W edytorze tekstu napisz kod, aby zaimplementować stos zgodnie z procedurami i funkcjami dostępnymi w języku programowania, którego chcesz użyć. Nazwij ten stos Stack_Entry. Umieść dane w Stack_Entry (wiele języków programowania używa polecenia „push”, aby dodać dane). Na przykład uruchom polecenie „push” w Stack_Entry, aby wprowadzić dane w następującej kolejności: „A”, „B” i „C”. „A” jest pierwszym, który wchodzi i znajduje się na dole stosu. Jeśli chcesz uzyskać dostęp do tego pierwszego elementu, traktujesz dane jako kolejkę.

  2. Napisz kod, aby zaimplementować drugi stos zgodnie z procedurami i funkcjami dostępnymi w języku programowania, którego chcesz użyć. Nazwij go StackSafe (wiele języków programowania używa polecenia „pop”, aby usunąć dane ze stosu).


  3. Usuń każdy element ze stosu Stack_Insert i umieść go w stosie uśpienia. Ogólnie rzecz biorąc, usuwasz element Stack_Input i umieszczasz go w StackAid. Następnie sprawdzasz, czy parametr Stack_Input jest pusty. Jeśli nie jest pusty, usuń następny element ze stosu Stack_Input i umieść go w stosie uśpienia. Powtarzaj, aż Stack_Input będzie pusty. W naszym przykładzie usuniesz „C” z Stack_Input i umieścisz go w Stack_Aid. Upewnij się, że InputPilot jest pusty. Usuń „B” z Stack_Input i ustaw na Stack_Aid. Upewnij się, że InputPilot jest pusty. Usuń „A” z Stack_Input i ustaw na Stack_Aid. Upewnij się, że InputPilot jest pusty.

  4. Gdy stos Stack_Path jest pusty, element znajdujący się w Stack_Input („A” w naszym przykładzie) jest teraz u góry Stack_Aside. Usuń przedmiot SleepSeat i zmieniłeś swój stos w kolejkę. Twój pierwszy przedmiot na stosie jest teraz pierwszym przedmiotem, który należy wyjąć (pierwszy na wejściu, pierwszy na wyjściu lub FIFO w pierwszym wejściu, pierwszy na wyjściu).


Jak

  • Większość języków programowania udostępnia funkcje służące do przetwarzania danych w wektorze tak, jakby były kolejką lub stosem. Oznacza to, że możesz uzyskać dostęp zarówno do ostatniej, jak i pierwszej pozycji wektora, niezależnie od tego, z którego końca wprowadzasz dane. Jeśli twoje dane znajdują się w wektorze, nie musisz się martwić o dostęp do nich jako kolejki lub stosu. Ale jeśli twoje dane znajdują się w dynamicznej stercie i chcesz traktować je jako kolejkę, powinieneś zaimplementować drugi stos.

Czego potrzebujesz

  • Edytor tekstu
  • Kompilator lub interpreter niektórych języków programowania

Jak zrobić rzeźbę mrówek

John Stephens

Styczeń 2025

Twórz przerażającą i dziwną ztukę podcza rzeźbienia mrówek! Wykonywanie rzeźb ant jet prote i wymaga niewielkiej ilości materiału. Można je zybko zmontować, tworząc realityczną mrówkę. ...

Używa witaminy E w oleju do skóry

John Stephens

Styczeń 2025

Witamina E nie zapewnia wielu korzyści tylko wewnętrznie; jego miejcowe toowanie przynoi również korzyści, gdy jet toowany na kórę w potaci oleju. Itnieje kilka zatoowań olejków witamin...

Nasze Publikacje