Vi kan implementere datastrukturen gjennom C -språket. Det er flere typer datastruktur tilgjengelig for å lagre og få tilgang til dataene på en effektiv måte. Stack er en av dem.
En stabel er en modifisert versjon av Array. Vi kan legge til eller fjerne et element i stabelens ene ende. Denne enden er på Topp av stabelen.
Stack er en spesialisert måte å håndtere, lagre, sette inn, slette, få tilgang til dataene. Det er abstrakt i naturen.
Array og Stack
Representasjon
Vi kan bare få tilgang til det siste elementet som er satt inn i Stack. Dette er toppen av stack. Vi kan enten sette inn eller fjerne fra toppen.
Dette er kjent som The Last In Fast Out (LIFO) og Fast In Last Out (Filo).
Gjennomføring
Stabel kan implementeres som følger:
-> Array -> Dynamic Array -> Link ListOperasjon
-> Push -> PopAlgoritme Push: Push (Stack, Top, MaxStk, Vare)
1. [Stabel er full]
Hvis topp == maxstkVis melding: Overløp og returner
2. Sett topp = topp + 1
3. Sett stack [øverst] = element
4. Komme tilbake
Algoritme Pop: Pop (stabel, topp, vare)
1. [Element fjernet fra stabel]
Hvis topp == -1Vis melding: Understrømning og retur
2. Sett element = Stack [TOPP]
3. Topp: Topp -1
4. Komme tilbake
Stabel med matrise
Struct arraystackHer definerer vi en brukerdefinert datatype som heter ArrayStack. Den har tre datamedlemmer som heter Top, Capacity og en peker som heter *Array.
Polsk notasjon
Polsk notasjon er å skrive operatører av et uttrykk enten før eller etter deres operand.
Måter å skrive:
Infix 2. Prefiks 3. Postfix
Infix
Operatørene holdes mellom de to operandene.
Eksempel: A + B
Prefiks
Operatørene holdes før operandene deres.
Eksempel: + A B
Postfix
Operatørene holdes etter operandene.
Eksempel: A B +
Konvertere
1.
Infix:2.
Infix:3.
Infix :( a + b) / (c - d)All denne konverteringen kan gjøres ved hjelp av stabel. Nå vil vi vise hvordan en stabel kan opprettes og hvordan elementet eller dataene settes inn. Elementene kan fjernes fra stabelen gjennom programmering.
Programmeringseksempel
#inkludereProduksjon:
Forklaring
Som vi sa tidligere, definerer vi en brukerdefinert datatype som heter ArrayStack. Den har tre datamedlemmer som heter Top, Capacity og en peker -matrise. Deretter definerer vi en funksjon som heter CreateStack der vi passerer en verdi som den totale arrayblokken opprettes. Malloc () -funksjonen oppretter denne matrisen og returnerer adressen til variabelbunken som er arraystack -typen. Stack-> -arrayen inneholder adressen til matrisen som er opprettet av Malloc () -funksjonen.
Deretter definerer vi en annen funksjon som heter Full () for å sjekke om stabelen er full eller ikke.
Lag en annen funksjon som heter tom for å sjekke om stabelen er tom.
Deretter definerer vi en annen funksjon som heter push () der vi setter inn elementene en etter en i stabelen fra den ene enden som heter Top. For å sette inn elementet i stabelen, sjekker vi først om stabelen er full.
Deretter definerer vi en annen funksjon som heter Pop () der vi sletter elementene en etter en fra stabelen fra den ene enden som heter Top. For å fjerne elementet i stabelen, sjekker vi først om stabelen er tom.
Deretter, inne i Main () -funksjonen, skriver vi Switch -saken for å gi brukeren et menyalternativ for å velge valget sitt om elementet er satt inn eller slettet i stabelen.
Konklusjon
Fra diskusjonen om stabelen har vi kommet for å komme til denne konklusjonen at Stack er en veldefinert datastruktur som brukes til å administrere dataene på en strukturell måte. Vår dagliglivsstabel er implementert i forskjellige felt for å lagre, sette inn eller slette elementer.