Utwórz stos w C ++

Utwórz stos w C ++

Stos to podstawowa struktura danych, która działa jako liniowa lista zawierająca jej elementy. W takim przypadku element jest dodawany na jednym końcu listy, znany jako góra, a elementy są usuwane z tej samej strony. Oznacza to, że element wprowadzony w pierwszej pozycji zostanie usunięty na końcu. Możemy tworzyć, usuwać lub aktualizować elementy.

Nowe tworzenie stosu

Aby utworzyć nowy stos, musimy najpierw dołączyć bibliotekę stosu, aby wykonać wszystkie funkcje zastosowane do stosu.

Szablon > stos klas

Wartości obecne w składni są „typem”, który pokazuje typ elementu obecnego w stosie. Może to być dowolny typ, taki jak liczba całkowita, pływakowa itp. Drugi to „kontener”, który jest rodzajem obiektu kontenera obecnie używanego.

Operacje stosu

Podstawowe operacje stosu są wyjaśnione poniżej:

  • Naciskać: Funkcja push () wchodzi do elementów w stosie. Sprawdza najpierw, jeśli stos jest już pełny, wówczas ten warunek jest znany jako warunek przepełnienia.
  • Muzyka pop: Ta funkcja pop () usuwa element ze stosu. Ze czasu tylko jeden element jest usuwany ze stosu. Elementy są usuwane w odwrotnej kolejności, w jakiej zostały wprowadzone przez funkcję push (). Sytuacja bycia pustym stosem jest znana jako stos podkładu.
  • Zachowaj lub top: Ta funkcja zwraca element, który jest górnym elementem w stosie.
  • jest pusty: Jest to wyrażenie logiczne, które zwraca true, jeśli stos jest już pusty, ale jeśli nie jest pusta, ta funkcja zwraca false.

Aplikacje stosu

Funkcja Redo-Undo jest bardzo powszechna wśród redaktorów tekstu lub edytorów zdjęć, takich jak Photoshop, a MS Word jest przykładem stosu.

Korzystając z przeglądarki internetowej, widzimy opcje do przodu i wsteczne dla niedawno zamkniętych stron.

Stos jest również używany jako zarządzanie pamięcią; Nowoczesne komputery mogą wykorzystywać stos jako zarządzanie podstawowym do działających programów.

Techniki pracy / algorytm stosu

  • Wskaźnik, który nazywa się top, służy do przyjęcia zapisu elementu, który znajduje się na górze stosu.
  • Mamy pusty stos na początkowym etapie, więc góra jest ustawiona w pozycji -1. Powodem tego jest to, że pustka stosu jest łatwo sprawdzana. Odbywa się to poprzez porównanie go z top == 1.
  • Następnym krokiem jest naciskanie przedmiotu, więc w tym momencie zwiększamy najwyższą wartość, a następnie umieszczamy nowy element w pozycji wskazanej przez górę.
  • W przypadku zastosowania funkcji pop (.
  • W momencie pchania i wyskakowania elementów należy sprawdzić dwie rzeczy. Podobnie, przed wyspaniem sprawdziliśmy, czy stos był pusty, czy nie.

Wdrożenie stosu

Przykład 1

Jak opisano powyżej, przed uruchomieniem programu głównego musimy dodać bibliotekę stosu w pliku nagłówka naszego programu.

#włączać

Ta biblioteka zawiera wszystkie operacje i powiązane funkcje, więc należy ją użyć. Użyliśmy przestrzeni nazw Std do używania wszystkich klas bez dzwonienia. W programie głównym zastosowaliśmy prostą logikę, aby zademonstrować każdą operację stosu w jednym wierszu.

Stworzyliśmy stos do przechowywania wartości typów danych liczb całkowitych.

Stos St.

Aby wprowadzić wartości w stosie, ręcznie użyliśmy funkcji push (). Za każdym razem, gdy ta funkcja będzie wywoływana przez obiekt, który tworzymy. Używamy push (), aby wprowadzić wartości od 50 do 80. Po wstawieniu musimy wysunąć wartość za pomocą pop (). Korzystając z tej funkcji, górny element ze stosu, który ma 80. Korzystając ponownie z funkcji pop (), usuniemy liczbę 70, a teraz górny element to 60. Ostatecznie używamy pętli while, aby upewnić się, że stos jest pełny. Jeśli jest to prawda, zastosowana jest funkcja pop (). Ciało pętli jest zakończone.

Użyj kompilatora G ++ do kompilacji i wykonania kodu źródłowego. "Stos.c ”to nazwa pliku.

Stos $ g ++ -o.C.
$ ./stos

Widać, że po wykonaniu programu obie wartości wprowadzone na koniec są usuwane ze stosu, pracując nad techniką LIFO.

Przykład 2

Idąc naprzód w kierunku drugiego przykładu, wiąże się to z interakcją użytkownika. Wszystkie operacje stosu są stosowane osobno w tym programie. Wyświetlamy również wszystkie elementy stosu. W programie głównym każda funkcja jest wywoływana zgodnie z wartością, którą użytkownik wprowadza podczas wykonywania. Teraz zaczynając od pierwszej operacji stosu za pomocą przestrzeni nazw, funkcja rozpoczyna się. Tutaj zadeklarowaliśmy stos globalnie z liczbą danych liczb całkowitych 100 długości elementów. Funkcja push odbiera wartość z głównego programu, w którym użytkownik wprowadzi. Wewnątrz funkcji instrukcja IF-ELSE służy do sprawdzenia, czy stos nie jest pełny. Jeśli stos nie jest pusty, komunikat jest wyświetlany użytkownikowi; W przeciwnym razie wartość jest wstawiona. A najwyższa wartość jest zwiększona.

Podobnie, w przypadku funkcji pop () najwyższa wartość jest sprawdzana, czy jest poniżej -1 lokalizacja oznacza, że ​​stos jest pusty, więc komunikat jest wyświetlany w innym przypadku, wartość jest wyskakująca.

Używamy pętli „dla”, aby pokazać wszystkie elementy wstawione przez push () do stosu, aby wyświetlić wszystkie elementy.

Menu przyjazne dla użytkownika jest tworzone w głównym programie, aby uzyskać opcję użytkownika.

Wyświetlane są 4 opcje. Jeśli użytkownik wybierze 1st, będzie to funkcja push. W tym celu użyliśmy instrukcji przełącznika. Kompilator przekazuje wprowadzony wybór, a program jest wykonywany.

Następnie wykonaj kod; Teraz zobaczysz menu, które pojawia się podczas udanego wykonywania kodu. Najpierw wybierzemy pierwszą opcję, aby wstawić wartości. Wartości zostaną wstawione przez pierwsze cztery razy, a następnie wyświetlimy wszystkie wartości, wybierając opcję nr 3.

Wszystkie wartości zostaną wyświetlone tutaj. Teraz musimy wydać ostatnią wartość, którą wprowadziliśmy. Więc wybierz opcję 2. To usunie najwyższą wartość. Ponownie wybranie opcji POP ponownie usunie najwyższą wartość.

Wniosek

Artykuł „Utwórz stos w C ++” obejmuje system operacyjny Linux do wdrożenia programu w języku programowania C ++. Obecny przewodnik zawiera podstawowe użycie i deklaracja stosu w C++. Zastosowaliśmy dwa przykłady, które obejmują działanie stosu. Niektóre codzienne rutynowe przykłady stosu są również wspomniane w tym artykule.