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

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 19 Listopad 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

Jak zrobić fantazję Obi Wana Kenobiego

Monica Porter

Listopad 2024

Obi Wan Kenobi jet potężnym rycerzem Jedi w erii filmów „Gwiezdne wojny”. Jego mądrość i trening były odpowiedzialne za nauczanie młodego Luke'a kywalkera, co powinien wiedzieć, aby ocalić ga...

HD Recovery Equipment

Monica Porter

Listopad 2024

Jednym z najwiękzych problemów napotykanych przez użytkowników lub właścicieli komputerów jet awaria dyku twardego. W takim przypadku więkzość przechowywanych plików może zniknąć i...

Fascynujący