[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"term-s\u002Fstack":3,"related-s\u002Fstack":301},{"id":4,"title":5,"acronym":6,"body":7,"category":282,"description":283,"difficulty":284,"extension":285,"letter":286,"meta":287,"navigation":159,"path":288,"related":289,"seo":295,"sitemap":296,"stem":299,"subcategory":6,"__hash__":300},"terms\u002Fterms\u002Fs\u002Fstack.md","Stack",null,{"type":8,"value":9,"toc":276},"minimark",[10,15,19,23,26,30,265,269,272],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A stack is a pile of things where you can only add to the top and take from the top — like a stack of plates. The last thing you put in is the first thing you take out. This is called LIFO. Your browser's back button is a stack: each page you visit gets pushed, and back pops the top one.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A stack is a LIFO (Last In, First Out) abstract data structure supporting two primary operations: push (add to top) and pop (remove from top). It also supports peek (inspect top without removing). Stacks are used in the call stack for function execution, undo\u002Fredo systems, expression parsing, and depth-first search algorithms.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Using an array as a stack in JavaScript:\nconst stack = [];\nstack.push('page1');  \u002F\u002F [page1]\nstack.push('page2');  \u002F\u002F [page1, page2]\nstack.push('page3');  \u002F\u002F [page1, page2, page3]\n\nstack.pop();          \u002F\u002F removes 'page3' (LIFO)\nconsole.log(stack);   \u002F\u002F [page1, page2]\n\n\u002F\u002F Practical: undo history\nconst history = [];\nhistory.push(action);           \u002F\u002F do action\nconst last = history.pop();     \u002F\u002F undo\n","javascript","",[38,39,40,49,70,104,129,154,161,179,198,203,209,223,241],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Using an array as a stack in JavaScript:\n",[41,50,52,56,60,64,67],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","const",[41,57,59],{"class":58},"sTEyZ"," stack ",[41,61,63],{"class":62},"sMK4o","=",[41,65,66],{"class":58}," []",[41,68,69],{"class":62},";\n",[41,71,73,76,79,83,86,89,93,95,98,101],{"class":43,"line":72},3,[41,74,75],{"class":58},"stack",[41,77,78],{"class":62},".",[41,80,82],{"class":81},"s2Zo4","push",[41,84,85],{"class":58},"(",[41,87,88],{"class":62},"'",[41,90,92],{"class":91},"sfazB","page1",[41,94,88],{"class":62},[41,96,97],{"class":58},")",[41,99,100],{"class":62},";",[41,102,103],{"class":47},"  \u002F\u002F [page1]\n",[41,105,107,109,111,113,115,117,120,122,124,126],{"class":43,"line":106},4,[41,108,75],{"class":58},[41,110,78],{"class":62},[41,112,82],{"class":81},[41,114,85],{"class":58},[41,116,88],{"class":62},[41,118,119],{"class":91},"page2",[41,121,88],{"class":62},[41,123,97],{"class":58},[41,125,100],{"class":62},[41,127,128],{"class":47},"  \u002F\u002F [page1, page2]\n",[41,130,132,134,136,138,140,142,145,147,149,151],{"class":43,"line":131},5,[41,133,75],{"class":58},[41,135,78],{"class":62},[41,137,82],{"class":81},[41,139,85],{"class":58},[41,141,88],{"class":62},[41,143,144],{"class":91},"page3",[41,146,88],{"class":62},[41,148,97],{"class":58},[41,150,100],{"class":62},[41,152,153],{"class":47},"  \u002F\u002F [page1, page2, page3]\n",[41,155,157],{"class":43,"line":156},6,[41,158,160],{"emptyLinePlaceholder":159},true,"\n",[41,162,164,166,168,171,174,176],{"class":43,"line":163},7,[41,165,75],{"class":58},[41,167,78],{"class":62},[41,169,170],{"class":81},"pop",[41,172,173],{"class":58},"()",[41,175,100],{"class":62},[41,177,178],{"class":47},"          \u002F\u002F removes 'page3' (LIFO)\n",[41,180,182,185,187,190,193,195],{"class":43,"line":181},8,[41,183,184],{"class":58},"console",[41,186,78],{"class":62},[41,188,189],{"class":81},"log",[41,191,192],{"class":58},"(stack)",[41,194,100],{"class":62},[41,196,197],{"class":47},"   \u002F\u002F [page1, page2]\n",[41,199,201],{"class":43,"line":200},9,[41,202,160],{"emptyLinePlaceholder":159},[41,204,206],{"class":43,"line":205},10,[41,207,208],{"class":47},"\u002F\u002F Practical: undo history\n",[41,210,212,214,217,219,221],{"class":43,"line":211},11,[41,213,55],{"class":54},[41,215,216],{"class":58}," history ",[41,218,63],{"class":62},[41,220,66],{"class":58},[41,222,69],{"class":62},[41,224,226,229,231,233,236,238],{"class":43,"line":225},12,[41,227,228],{"class":58},"history",[41,230,78],{"class":62},[41,232,82],{"class":81},[41,234,235],{"class":58},"(action)",[41,237,100],{"class":62},[41,239,240],{"class":47},"           \u002F\u002F do action\n",[41,242,244,246,249,251,254,256,258,260,262],{"class":43,"line":243},13,[41,245,55],{"class":54},[41,247,248],{"class":58}," last ",[41,250,63],{"class":62},[41,252,253],{"class":58}," history",[41,255,78],{"class":62},[41,257,170],{"class":81},[41,259,173],{"class":58},[41,261,100],{"class":62},[41,263,264],{"class":47},"     \u002F\u002F undo\n",[11,266,268],{"id":267},"when-youll-hear-this","When You'll Hear This",[16,270,271],{},"\"Use a stack to track the navigation history.\" \u002F \"The call stack is literally a stack data structure.\"",[273,274,275],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":277},[278,279,280,281],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":267,"depth":51,"text":268},"general","A stack is a pile of things where you can only add to the top and take from the top — like a stack of plates.","beginner","md","s",{},"\u002Fterms\u002Fs\u002Fstack",[290,291,292,293,294],"Queue","Data Structure","LIFO","Call Stack","Recursion",{"title":5,"description":283},{"changefreq":297,"priority":298},"weekly",0.7,"terms\u002Fs\u002Fstack","7U9-222w3bXA0xjNmfq0G8JSi0adpjysYDOm2WinpFQ",[302,305,308],{"title":291,"path":303,"acronym":6,"category":282,"difficulty":284,"description":304},"\u002Fterms\u002Fd\u002Fdata-structure","A data structure is a way of organizing information in your code so it is easy to use and fast to access.",{"title":290,"path":306,"acronym":6,"category":282,"difficulty":284,"description":307},"\u002Fterms\u002Fq\u002Fqueue","A queue is like a line at a coffee shop — first come, first served. The first person to get in line is the first to get their coffee.",{"title":294,"path":309,"acronym":6,"category":282,"difficulty":310,"description":311},"\u002Fterms\u002Fr\u002Frecursion","intermediate","Recursion is when a function calls itself to solve a smaller version of the same problem, like a set of Russian nesting dolls.",1776518314796]