Forskjell mellom Stack og Queue

Anonim

Stack vs Queue

Stack en ordnet liste der innsetting og sletting av listeposter kun kan gjøres i den ene enden som kalles toppen. På grunn av denne grunnen betraktes stabelen som en siste struktur (LIFO). Kø er også en bestilt liste der innsetting av listeposter er gjort i den ene enden kalt baksiden, og sletting av elementer er gjort i den andre enden kalt forsiden. Denne innsettings- og slettemekanismen gjør køen til en første i første ut (FIFO) datastruktur.

Hva er Stack?

Som nevnt tidligere, er stabelen en datastruktur der elementene legges til og fjernes fra bare den ene enden som kalles toppen. Stabler tillater bare to grunnleggende operasjoner kalt push og pop. Trykkoperasjonen legger til et nytt element øverst i stabelen. Pop-operasjonen fjerner et element fra toppen av stabelen. Hvis stakken allerede er full, betraktes det som en stabeloverflate når en skyveoperasjon utføres. Hvis en popoperasjon utføres på en allerede tom stabel, betraktes den som en stabel understrøm. På grunn av det lille antallet operasjoner som kan utføres på en stabel, regnes det som en begrenset datastruktur. I tillegg, i henhold til måten push og pop-operasjonene er definert, er det klart at elementer som ble lagt til sist i stabelen, går ut av stakken først. Derfor er stabelen betraktet som en LIFO datastruktur.

Hva er kø?

I en kø blir det lagt til elementer fra baksiden av køen og fjernet fra forsiden av køen. Siden elementene som legges til først, vil bli fjernet fra køen først, opprettholder den FIFO-bestillingen. På grunn av denne rekkefølgen for å legge til og fjerne elementer, representerer køen ideen om en betalingslinje. Generelle operasjoner som støttes av en kø er en-kø og de-kø-operasjoner. En-kø-operasjonen vil legge til et element på baksiden av køen, mens de-kø-operasjonen fjerner et element fra forsiden av køen. Generelt har køer ikke en grense på antall elementer som kan legges til køen i tillegg til minnesbegrensningene.

Hva er forskjellen mellom Stack and Queue?

Selv om både stablene og køene er typer bestilte lister, har de noen viktige forskjeller. I stabler kan legge til eller slette elementer kun gjøres fra den ene enden kalt toppen, mens i køer legges det til elementer er gjort fra den ene enden kalt baksiden, og sletting av elementer gjøres fra den andre enden kalt fronten. I en stabel blir elementer som legges til sist i stakken, fjernet først fra stakken. Derfor er stabelen betraktet som en LIFO datastruktur. I køer blir elementer som legges til først, fjernet fra køen først. Derfor er kø betraktet som en FIFO datastruktur.

Relatert link:

Forskjellen mellom stakk og høyde