Zarówno stos, jak i kolejka są zdefiniowane przez sekwencyjny zbiór obiektów zorganizowanych w określonej kolejności w strukturze danych opartej na niektórych rzeczywistych odpowiednikach. Obie są liniowymi strukturami danych służącymi do skutecznego przechowywania i pobierania elementów danych, z wyjątkiem zasady działania. Stos to uporządkowana lista elementów, w których wszystkie wstawienia i usunięcia są wykonywane na tym samym końcu, podczas gdy kolejka jest dokładnie przeciwna do stosu, który jest otwarty na obu końcach, co oznacza, że jeden koniec służy do wstawiania danych, a drugi do usuwania dane. Główną różnicą między nimi jest ich mechanizm działania.
Stos jest liniową strukturą danych służącą do organizowania danych w określony sposób, dzięki czemu można je efektywnie wykorzystać. Maszyny potrzebują wskazówek, aby wykonywać zadania zarówno proste, jak i skomplikowane w postaci poleceń. Podobnie, dane mogą być tworzone na wiele różnych sposobów, a jedną z najbardziej wydajnych struktur danych są stosy. Jest to abstrakcyjna struktura danych, która przypomina fizyczny stos, w którym obiekty są uporządkowane w określonej kolejności, w szczególności w oparciu o mechanizm „ostatnie weszło pierwsze wyszło” (LIFO), co oznacza, że najpierw należy uzyskać dostęp do ostatniego dodanego elementu i odwrotnie . Najczęstszym zastosowaniem struktury danych stosu jest powrót do poprzedniego stanu lub algorytm wyszukiwania Głębokość.
Kolejka jest również liniową strukturą danych, nieco podobną do struktury danych stosu, z tym wyjątkiem, że jest otwarta na obu końcach. Jest to sekwencyjny zbiór obiektów, które przypominają kolejkę ludzi. W przeciwieństwie do stosów, opiera się na zasadzie „pierwsze weszło pierwsze wyszło” (FIFO), co oznacza, że do najwcześniej dodanego elementu można uzyskać dostęp jako pierwszy i odwrotnie. W kolejce jeden koniec służy do wstawiania elementów, a drugi koniec do usuwania elementów. Podobnie jak linia ludzi, nowe byty są umieszczane z tyłu, a już obsługiwane byty są usuwane z przodu. W kolejce dozwolone są dwie operacje: kolejkowanie i usuwanie kolejki. Kolejka odnosi się do dodawania przedmiotów z tyłu, a kolejka oznacza usuwanie przedmiotów z przodu.
Stos jest podstawową strukturą danych, abstrakcyjnym typem danych reprezentowanym przez strukturę liniową przypominającą fizyczny stos, w którym obiekt można dodać w dowolnym momencie, ale można go usunąć, który jest dodawany jako ostatni. Mówiąc prosto, wstawianie i usuwanie obiektów w strukturze danych stosu odbywa się na jednym końcu, który jest górą stosu. Kolejka jest nieco podobna do stosów, z tym że jest otwarta na obu końcach - jeden koniec służy do wstawiania obiektu, a drugi do usuwania obiektu, co oznacza, że do obiektów, które są najpierw przechowywane, można uzyskać dostęp jako pierwszy.
Zarówno stos, jak i kolejka są nieprymitywnymi abstrakcyjnymi typami danych w strukturze danych, służącymi jako zbiór obiektów, w których elementy są przechowywane w określonej kolejności. Stos to pojemnik z obiektami, w którym obiekty są przechowywane i usuwane zgodnie z zasadą działania „ostatni na wejściu” (LIFO), co oznacza, że obiekty mogą być przechowywane i pobierane na raz. Z kolei kolejka to zbiór obiektów, w których elementy są przechowywane i usuwane zgodnie z zasadą „pierwsze weszło pierwsze wyszło” (FIFO).
Stos nazw odnosi się do analogii struktury, w której przedmioty są umieszczane jedna na drugiej jak stos jak paczka herbatników. Jeden koniec służy do umieszczania i usuwania obiektów ze stosu, co ułatwia wybieranie obiektu z góry, a jednocześnie utrudnia dostęp do ostatniego obiektu, co wymaga usuwania wielu elementów jeden po drugim, zaczynając od góry. Kolejka jest przeciwieństwem stosów, co oznacza, że nowe przedmioty są umieszczane z tyłu i usuwane z przodu, tak jak książka.
Istnieją dwie podstawowe operacje, które można wykonać na stosach: push, który w zasadzie dodaje element do stosu, a jeśli stos jest pełny, to jest to warunek przepełnienia, i pop, który usunął najnowszy element ze stosu i pusty stos , odnosi się do warunku niedomiaru. Istnieje dodatkowa operacja podglądania związana ze stosami, która umożliwia dostęp do przedmiotu u góry bez modyfikowania stosu. Dwie podstawowe zasady związane są z kolejką: kolejkowanie, które oznacza dodawanie obiektów do tyłu, i usuwanie kolejki, które odnoszą się do usuwania obiektów z przodu.
Jedną z najbardziej podstawowych aplikacji struktury danych stosu jest algorytm wyszukiwania Głębokość, który opiera się na idei cofania, wykorzystywanej głównie do przeszukiwania struktury danych wykresu lub drzewa. Może być również używany w kompilatorze / systemie operacyjnym do przetwarzania wywołań funkcji lub do implementacji funkcji rekurencyjnych. Najczęstszym zastosowaniem struktury danych kolejki jest planowanie procesora lub planowanie dysku lub badanie operacyjne. Prawdziwym przykładem struktury danych w kolejce jest kolejka samych ludzi, w której osoba stojąca jako pierwsza w linii ma być obsługiwana jako pierwsza.
Zarówno stos, jak i kolejka są nieprymitywnymi abstrakcyjnymi strukturami danych zdefiniowanymi jako zbiór obiektów zorganizowanych w określonej kolejności na komputerze, ale o różnych zasadach działania. Chociaż oba dotyczą organizacji i przechowywania danych, robią to zupełnie inaczej. Stos jest podstawową strukturą danych opartą na zasadzie LIFO, zwaną również jako ostatni na wejściu, co oznacza, że najpierw dodany element ma być dostępny jako pierwszy lub FILO, co oznacza, że pierwszy element ma być dostępny jako ostatni. Wręcz przeciwnie, kolejka opiera się na zasadzie FIFI (pierwsze weszło pierwsze wyszło), co oznacza, że do najwcześniejszego elementu należy się dostać jako pierwszy.