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

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 16 Móc 2024
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

Jednotka centralna komputera (CPU) ładuje intrukcje oprogramowania i może być przeciążona przez uruchomienie wielu otwartych programów jednocześnie. Może to powodować awarię proceora, co zwykle p...

Jak wyplatać sieć rybacką

Randy Alexander

Móc 2024

ieci rybackie ą wykorzytywane do różnych celów, ale najczęściej ą używane w wodzie do połowu ryb. Będąc w tanie tworzyć ieci rybackie, zaozczędziz pieniądze, pomagając w naprawie rozdartych ...

Najnowsze Posty