Primer, mirarem què és la pila i què és la cua individualment, i després parlarem de les diferències entre pila i cua.
Què és una pila?
Una estructura de dades. En el cas d'una matriu, l'accés aleatori és possible, és a dir, es pot accedir a qualsevol element d'una matriu en qualsevol moment, mentre que en una pila, l'accés seqüencial només és possible. És un contenidor que segueix la regla d'inserció i supressió. Segueix el principi LIFO (últim en entrar, primer en sortir) en què la inserció i la supressió es produeixen des d'un costat conegut com a superior . A la pila, podem inserir els elements d'un tipus de dades similar, és a dir, els diferents elements de tipus de dades no es poden inserir a la mateixa pila. Les dues operacions es realitzen en LIFO, és a dir, empènyer i pop funcionament.
Les següents són les operacions que es poden realitzar a la pila:
1 milió en dígits
En pila, el superior és un punter que s'utilitza per fer un seguiment de l'últim element inserit. Per implementar la pila, hauríem de conèixer la mida de la pila. Hem d'assignar la memòria per obtenir la mida de la pila. Hi ha dues maneres d'implementar la pila:
Què és la Cua?
A
Similituds entre pila i cua.
Hi ha dues similituds entre la pila i la cua:
Tant la pila com la cua són l'estructura de dades lineal, la qual cosa significa que els elements s'emmagatzemen seqüencialment i s'hi accedeix en una sola execució.
Tant la pila com la cua són de mida flexible, el que significa que poden créixer i reduir-se segons els requisits en temps d'execució.
Diferències entre pila i cua
A continuació es mostren les diferències entre la pila i la cua:
Base per a la comparació | Pila | Cua |
---|---|---|
Principi | Segueix el principi LIFO (Last In- First Out), que implica que l'element que s'insereix per últim seria el primer que s'eliminaria. | Segueix el principi FIFO (First In -First Out), que implica que l'element que s'afegeix primer seria el primer element a eliminar de la llista. |
Estructura | Només té un extrem des del qual tenen lloc tant la inserció com la supressió, i aquest extrem es coneix com a part superior. | Té dos extrems, és a dir, frontal i posterior. L'extrem frontal s'utilitza per a la supressió mentre que l'extrem posterior s'utilitza per a la inserció. |
Nombre de punters utilitzats | Conté només un punter conegut com a punter superior. El punter superior conté l'adreça de l'últim element inserit o de l'element superior de la pila. | Conté dos punters davanter i posterior. El punter frontal conté l'adreça del primer element, mentre que el punter posterior conté l'adreça de l'últim element d'una cua. |
Operacions realitzades | Realitza dues operacions, push i pop. L'operació push insereix l'element en una llista mentre que l'operació pop elimina l'element de la llista. | Realitza principalment dues operacions, posar en cua i treure la cua. L'operació de col·locació realitza la inserció dels elements en una cua mentre que l'operació de desactivació de la cua realitza la supressió dels elements de la cua. |
Examen de l'estat de buit | Si top==-1, el que significa que la pila està buida. | Si davant== -1 o davant = posterior+1, la qual cosa significa que la cua està buida. |
Examen de l'estat total | Si top== max-1, aquesta condició implica que la pila està plena. | Si rear==max-1, aquesta condició implica que la pila està plena. |
Variants | No té cap tipus. | És de tres tipus com ara la cua de prioritat, la cua circular i la cua de doble final. |
Implementació | Té una implementació més senzilla. | Té una implementació relativament complexa que una pila. |
Visualització | Una pila es visualitza com una col·lecció vertical. | Una cua es visualitza com una col·lecció horitzontal. |