Først skal vi se på hva er stack og hva er kø individuelt, og så vil vi diskutere forskjellene mellom stack og kø.
Hva er en stabel?
En datastruktur. I tilfelle av en matrise er tilfeldig tilgang mulig, det vil si at ethvert element i en matrise kan nås når som helst, mens i en stabel er sekvensiell tilgang bare mulig. Det er en beholder som følger innsettings- og slettingsregelen. Det følger prinsippet LIFO (sist inn først ut) der innsetting og sletting skjer fra en side kjent som en topp . I stack kan vi sette inn elementene av en lignende datatype, det vil si at de forskjellige datatypeelementene ikke kan settes inn i samme stabel. De to operasjonene utføres i LIFO, dvs. trykk og pop operasjon.
Følgende er operasjonene som kan utføres på stabelen:
I stabel er topp er en peker som brukes til å holde styr på det sist innsatte elementet. For å implementere stabelen, bør vi vite størrelsen på stabelen. Vi må tildele minnet for å få størrelsen på stabelen. Det er to måter å implementere stabelen på:
Hva er køen?
EN
Likheter mellom stabel og kø.
Det er to likheter mellom stabelen og køen:
Både stabelen og køen er den lineære datastrukturen, noe som betyr at elementene lagres sekvensielt og åpnes i en enkelt kjøring.
Både stabelen og køen er fleksible i størrelse, noe som betyr at de kan vokse og krympe i henhold til kravene under kjøringen.
Forskjeller mellom stabel og kø
Følgende er forskjellene mellom stabelen og køen:
Grunnlag for sammenligning | Stable | Kø |
---|---|---|
Prinsipp | Det følger prinsippet LIFO (Last In-First Out), som innebærer at elementet som settes inn sist vil være det første som blir slettet. | Det følger prinsippet FIFO (First In -First Out), som innebærer at elementet som legges til først vil være det første elementet som fjernes fra listen. |
Struktur | Den har bare én ende hvorfra både innsetting og sletting finner sted, og den enden er kjent som en topp. | Den har to ender, dvs. foran og bak. Frontenden brukes til slettingen mens bakenden brukes til innsettingen. |
Antall pekere brukt | Den inneholder bare én peker kjent som en topppeker. Den øverste pekeren inneholder adressen til det sist innsatte elementet eller det øverste elementet i stabelen. | Den inneholder to pekere foran og bak. Den fremre pekeren holder adressen til det første elementet, mens den bakre pekeren holder adressen til det siste elementet i en kø. |
Operasjoner utført | Den utfører to operasjoner, push og pop. Push-operasjonen setter inn elementet i en liste mens pop-operasjonen fjerner elementet fra listen. | Den utfører hovedsakelig to operasjoner, enqueue og dequeue. Enqueue-operasjonen utfører innsetting av elementene i en kø mens dequeue-operasjonen utfører sletting av elementene fra køen. |
Undersøkelse av den tomme tilstanden | Hvis topp==-1, betyr det at stabelen er tom. | Hvis front== -1 eller front = rear+1, betyr det at køen er tom. |
Undersøkelse av full tilstand | Hvis topp== maks-1, betyr denne tilstanden at stabelen er full. | Hvis bak==maks-1, betyr denne tilstanden at stabelen er full. |
Varianter | Den har ingen typer. | Det er av tre typer som prioritert kø, sirkulær kø og dobbel endt kø. |
Gjennomføring | Den har en enklere implementering. | Den har en relativt kompleks implementering enn en stabel. |
Visualisering | En stabel blir visualisert som en vertikal samling. | En kø visualiseres som en horisontal samling. |