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)-
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ę.
-
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).
-
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.
-
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).
Dwa stosy równe rzędowi
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