Możemy wdrożyć strukturę danych za pośrednictwem języka C. Istnieje kilka rodzajów struktury danych do przechowywania i dostępu do danych w wydajny sposób. Stos jest jednym z nich.
Stos to zmodyfikowana wersja tablicy. Możemy dodać lub usunąć element na jednym końcu stosu. Ten koniec jest na Szczyt stosu.
Stack to wyspecjalizowany sposób obsługi, przechowywania, wstawienia, usuwania, dostępu do danych. Ma charakter abstrakcyjny.
Tablica i stos
Reprezentacja
Możemy uzyskać dostęp tylko do ostatniego elementu wstawionego do stosu. To jest szczyt stosu. Możemy wstawić lub usunąć z góry.
Jest to znane jako ostatni w Fast Out (LIFO) i szybki w Last Out (Filo).
Realizacja
Stos można wdrożyć w następujący sposób:
-> Tablica -> dynamiczna tablica -> Lista linkówOperacja
-> Push -> popAlgorytm Push: push (stos, top, maxstk, pozycja)
1. [Stos jest pełny]
Jeśli top == maxstkPokaż wiadomość: Przepełnienie i powrót
2. Ustaw top = góra + 1
3. Ustaw stos [u góry] = pozycja
4. Powrót
Algorytm Pop: Pop (stos, góra, pozycja)
1. [Element usunięty ze stosu]
Jeśli top == -1Pokaż wiadomość: Underflow and Return
2. SET ITUTE = STACK [TOP]
3. TOP: TOP -1
4. Powrót
Ustaw za pomocą tablicy
Struct arraadzieTutaj definiujemy typ danych zdefiniowany przez użytkownika o nazwie ArraYstack. Ma trzech członków danych o nazwie TOP, pojemność i wskaźnik o nazwie *tablica.
Polska notacja
Polska notacja pisze operatorów wyrażenia przed lub po ich operandzie.
Sposoby pisania:
Infix 2. Prefiks 3. Przyrostek
Infiks
Operatorzy są przechowywani między dwoma operandy.
Przykład: A + B
Prefiks
Operatorzy są przechowywani przed operandami.
Przykład: + A B
Przyrostek
Operatorzy są przechowywani po swoich operantach.
Przykład: A B +
Konwertować
1.
Infiks:2.
Infiks:3.
Infix :( a + b) / (c - d)Cała ta konwersja można wykonać za pomocą stosu. Teraz chcemy pokazać, w jaki sposób można utworzyć stos i jak wstawiono element lub dane. Elementy można usunąć ze stosu przez programowanie.
Przykład programowania
#włączaćWyjście:
Wyjaśnienie
Jak powiedzieliśmy wcześniej, definiujemy zdefiniowany przez użytkownika typ danych o nazwie ArraYstack. Ma trzech członków danych o nazwie TOP, pojemność i tablica wskaźnika. Następnie definiujemy funkcję o nazwie CreateStack, w której przekazujemy wartość, którą utworzony jest całkowity blok tablicy. Funkcja Malloc () tworzy tę tablicę i zwraca adres do stosu zmiennej, która jest typem ArraYstack. Tablica stosu-> zawiera adres tablicy, która jest tworzona przez funkcję Malloc ().
Następnie definiujemy inną funkcję o nazwie Full (), aby sprawdzić, czy stos jest pełny, czy nie.
Utwórz inną funkcję nazwaną pustą, aby sprawdzić, czy stos jest pusty.
Następnie definiujemy inną funkcję o nazwie push (), w której wkładamy elementy jeden po drugim w stosie z jednego końca o nazwie TOP. Aby wstawić element do stosu, najpierw sprawdzamy, czy stos jest pełny.
Następnie definiujemy inną funkcję o nazwie Pop (), w której usuwamy elementy jeden po drugim ze stosu z jednego końca o nazwie TOP. Aby usunąć element w stosie, najpierw sprawdzamy, czy stos jest pusty.
Następnie, wewnątrz funkcji Main (), piszemy obudowę przełącznika, aby zapewnić użytkownikowi opcję menu, aby wybrać jego wybór, czy element jest wstawiany, czy usuwany do stosu.
Wniosek
Z dyskusji na temat stosu doszliśmy do tego wniosku, że Stack jest dobrze zdefiniowaną strukturą danych, która jest używana do zarządzania danymi w sposób strukturalny. Nasz codzienny stos życia jest wdrażany w różnych dziedzinach do przechowywania, wstawienia lub usuwania elementów.