Både stapel och kö definieras av en sekventiell samling av objekt som är organiserade i en viss ordning i en datastruktur baserad på vissa verkliga ekvivalenter. Båda är linjära datastrukturer som används för att effektivt lagra och hämta dataelement, med undantag av arbetsprincipen. En stapel är en ordnad lista över element där alla infogningar och raderingar görs i samma ände, medan en kö är exakt motsatt av en stapel som är öppen i båda ändarna, vilket innebär att en ände används för att infoga data medan den andra ska ta bort data. Huvudskillnaden mellan de två är deras arbetsmekanism.
En stapel är en linjär datastruktur som används för att organisera data på ett visst sätt så att det kan användas effektivt. Maskiner behöver vägbeskrivningar för att utföra uppgifter både enkla och komplicerade i form av kommandon. På samma sätt kan data struktureras på många olika sätt och en av de mest effektiva datastrukturerna är staplar. Det är en abstrakt datastruktur som liknar en fysisk stapel där objekt är organiserade i en viss ordning, speciellt baserat på en LIFO-mekanism som betyder att det sista föregående tillägget ska nås först och vice versa . Den vanligaste tillämpningen av en stapeldatastruktur är backtracking eller djup-första sökalgoritmen.
Kö är också en linjär datastruktur, som liknar en stackdatastruktur, förutom att den är öppen i båda ändarna. Det är en sekventiell samling av objekt som liknar en kö av människor. Till skillnad från staplar är den baserad på principen FIFO (first-in-first-out), vilket innebär att den tidigaste tillagda objektet kan nås först och vice versa. I en kö används en ände för att infoga objekten och den andra änden för att ta bort objekten. Som en rad människor placeras nya enheter på baksidan och redan serverade enheter tas bort från fronten. Två operationer är tillåtna i en kö: enqueue och dequeue. Enqueue avser tillägg av föremål på baksidan och dequeue innebär att man tar bort föremål från framsidan.
Stack är en grundläggande datastruktur, en abstrakt datatyp representerad av en linjär struktur som liknar en fysisk stapel där objektet kan läggas till när som helst men kan avlägsnas som läggs till sist. I enkla termer sker införandet och raderingen av objekt i en stapeldatastruktur i ena änden som är toppen av stapeln. Kön liknar stackar, förutom att den är öppen i båda ändarna - en ände för att infoga objektet och den andra för att ta bort objektet vilket betyder att objekten som lagras först kan nås först.
Både stapel och kö är icke-primitiva abstrakta datatyper i datastrukturen som betjänas som en samling objekt där enheterna lagras i en viss ordning. En stapel är en behållare av objekt där enheterna lagras och tas bort baserat på LIFO-arbetsprincipen, vilket innebär att objekten kan lagras och hämtas i taget. En kö, å andra sidan, är en samling objekt där enheterna lagras och tas bort enligt principen om först in-först-ut (FIFO).
Namnstapeln hänvisar till analogi av en struktur där objekten placeras ovanpå varandra som en stapel som ett paket med kex. Den ena änden används för att placera och ta bort objekt från stapeln vilket gör det enkelt att välja ett objekt från toppen medan det samtidigt är svårt att komma åt det sista objektet som kräver att flera objekt tas bort en efter en från början. Kö är motsatt av staplar vilket betyder att nya föremål placeras bak och tas bort från framsidan precis som en bok.
Det finns två grundläggande operationer som kan utföras på staplar: tryck, vilket i grunden lägger till ett föremål i stapeln och om stacken är full så är det ett överflöde och pop, vilket tog bort det senaste objektet från stapeln och en tom stapel , avser ett underflöde. Det finns en ytterligare kikoperation i samband med staplar som låter dig komma åt objektet på toppen utan att ändra stacken. Två grundläggande principer är förknippade med kö: enqueue vilket innebär att man lägger till föremål bakåt, och dequeue som avser borttagning av föremål från framsidan.
En av de mest primära applikationerna för en stapeldatastruktur är djup-första sökalgoritmen, som bygger på tanken om backtracking som huvudsakligen används för att söka en graf eller träddatastruktur. Den kan också användas för kompilator / operativsystem för att behandla funktionssamtal eller för att genomföra rekursiva funktioner. Den vanligaste tillämpningen av en ködatastruktur är CPU-schemaläggning eller diskplanering eller operationsforskning. Ett verkligt exempel på en ködatastruktur är kön av människor själv där personen som står först i linjen ska serveras först.
Både stapel och kö är icke-primitive abstrakta datastrukturer definierade som en samling objekt som är organiserade i en viss ordning i en dator, men med olika arbetsprinciper. Även om de båda avser organisation och lagring av data gör de det väldigt annorlunda. Stack är en grundläggande datastruktur baserad på principen om LIFO kallas också som sista in-first-out vilket betyder att det tillagda objektet senast ska nås först eller FILO som betyder att det första objektet ska nås senast. Tvärtom är köen baserad på principen FIFI (först in-först-ut), vilket innebär att det tidigaste objektet ska nås först.