Skillnad mellan Stack och Queue
Stack vs Queue
Stack en ordnad lista där inmatning och radering av listobjekt kan göras endast i ena änden kallad toppen. På grund av den här orsaken betraktas stapeln som en senast in första ut (LIFO) datastruktur. Kö är också en beställd lista där inmatning av listobjekt görs i ena änden kallad bakåt, och radering av objekt görs i den andra änden som heter fronten. Denna infognings- och raderingsmekanism gör köen till en första i första ut (FIFO) datastruktur.
Vad är stack?
Som tidigare nämnts är stapel en datastruktur där element läggs till och tas bort från en enda ände som kallas toppen. Stackar tillåter bara två grundläggande operationer som kallas push och pop. Tryckoperationen lägger till ett nytt element överst i stapeln. Popoperationen tar bort ett element från toppen av stapeln. Om stacken redan är full, när en push-operation utförs betraktas den som en stapelflöde. Om en popoperation utförs på en redan tom stack betraktas den som en stack underflöde. På grund av det lilla antal operationer som kan utföras på en stapel betraktas det som en begränsad datastruktur. Dessutom är det enligt det sätt som push och pop-operationerna definieras tydligt att element som tillsattes sist i stacken först går ut ur stapeln. Därför betraktas stapel som en LIFO datastruktur.
Vad är kö?
I en kö läggs element från baksidan av köen och tas bort från könets främre del. Eftersom elementen som läggs till först kommer att tas bort från köen först håller den FIFO-ordern. På grund av denna ordning med att lägga till och ta bort element, representerar köen tanken på en kassalinje. Allmänna operationer som stöds av en kö är en-kö och de-kö-operationer. En-kö-operationen lägger till ett element på baksidan av kön, medan avköningsoperationen tar bort ett element från könets främre del. I allmänhet har köer inte en gräns för antalet element som kan läggas till i köen förutom minnesbegränsningarna.
Vad är skillnaden mellan stack och kö?
Även om både staplarna och könen är sorterade av beställda listor, har de några viktiga skillnader. I staplar kan tillägg eller radering av objekt endast göras från den ena änden som heter toppen, medan i köar läggs till objekt görs från ena änden kallas bakre och raderas objekt från den andra änden som kallas framsidan. I en stapel kommer objekt som läggs till sist i stapeln att tas bort först från stapeln. Därför betraktas stapel som en LIFO datastruktur. I kö kommer objekt som läggs till först att tas bort från köen först. Därför betraktas kö som en FIFO datastruktur.
Relaterad länk:
Skillnad mellan Stack och Heap