What is stack?

This is a recommends products dialog
Top Suggestions
Starting at
View All >
Language
French
English
ไทย
German
繁體中文
Country
Hi
All
Sign In / Create Account
language Selector,${0} is Selected
Join & Shop in Lenovo Pro
Register at Education Store
Pro Tier Benefits
• Save up to an extra 5% on Think everyday pricing
• Purchase up to 10 systems per order (5 more than Lenovo.com)
• Spend $10K, advance to Plus Tier with increased benefits
Plus Tier Benefits
• Save up to an extra 8% on Think everyday pricing
• Purchase up to 25 systems per order (20 more than Lenovo.com)
• Spend $50K, advance for free to Elite Tier with increased benefits
• Take advantage of flexible payment options with TruScale Device as a Service. Learn More >
Elite Tier Benefits
• Save up to an extra 10% on Think everyday pricing
• Purchase up to 50 systems per order (45 more than Lenovo.com)
• Take advantage of flexible payment options with TruScale Device as a Service. Learn More >
Partner Benefits
• Access to Lenovo's full product portfolio
• Configure and Purchase at prices better than Lenovo.com
View All Details >
more to reach
PRO Plus
PRO Elite
Congratulations, you have reached Elite Status!
Pro for Business
Delete iconRemove iconAdd iconReload icon
TEMPORARILY UNAVAILABLE
DISCONTINUED
Temporary Unavailable
Cooming Soon!
. Additional units will be charged at the non-eCoupon price. Purchase additional now
We're sorry, the maximum quantity you are able to buy at this amazing eCoupon price is
Sign in or Create an Account to Save Your Cart!
Sign in or Create an Account to Join Rewards
View Cart
Your cart is empty! Don’t miss out on the latest products and savings — find your next favorite laptop, PC, or accessory today.
Remove
item(s) in cart
Some items in your cart are no longer available. Please visit cart for more details.
has been deleted
Please review your cart as items have changed.
of
Contains Add-ons
Subtotal
Proceed to Checkout
Yes
No
Popular Searches
What are you looking for today ?
Trending
Recent Searches
Hamburger Menu
Use Enter key to expand
  • Lenovo Pro Business Store

    Lenovo Pro Business Store

    Created with Sketch.
    Lenovo Pro Business Store

    Log In / Sign Up

    Learn More

    Community


  • Accessibility
    AccessibilityAccessibility
    Accessibility
  • Contact Us
    Contact UsContact Us
    Contact Us

    Sales:

    Home:

    1-855-253-6686

    Business:

    1-866-426-0911

    Chat Now >

    Visit Sales Support Page >


    Order Support:

    Order Lookup >

    Visit Order Support Page >

    Technical Support >

Lenovo
skip to main content
All
  • All
  • Laptops
  • Desktops
  • Workstations
  • Monitors
  • PC Accessories & Electronics
  • Tablets
  • Servers & Storage
  • Servers Accessories
  • Account
    Sign In / Create Account
    Account
    My Lenovo Account
    Keep track of your wishlist, orders, and rewards all in one place
    Sign In / Create Account
    Welcome Back!
    Access your order, subscriptions, saved carts, rewards balance, and profile
    View My Account
    Orders
    View & track your orders
    Rewards
    Earn & redeem Rewards
    Profile
    Edit name, password, and account settings
    Wishlist
    Manage a wishlist of your favorite products
    Products
    Manage your devices, accessories
    Product Registration
    Register your product and/or update your warranty dates
    Lenovo Family Hub
    Manage your family's orders all in one place
    Sign Out
  • My Lenovo Rewards
    My Lenovo RewardsMy Lenovo Rewards
    My Lenovo Rewards
  • Cart
    CartCart
    Cart
  • Products
  • Solutions
  • Services
  • Support
  • About Lenovo
  • Deals
  • Business
  • Student
  • Gaming
  • Laptops
  • Desktops
  • Workstations
  • Accessories
  • Software
  • Monitors
  • Tablets
  • Servers & Storage
  • Home & Office
  • AI
  • Deals
  • Ultimate Summer Savings! Get the tech you want at prices you'll love + Buy more, Save More  Shop Now >

  • Buy online, pick up select products at Best Buy. Shop Pick Up >

  • Win $1,000 in Rewards! Join or sign in to My Lenovo Rewards and spend $1,000+ for a chance to win $1,000 in rewards— Free entry also available, no extra steps needed! Terms apply. Ends 6/29 Join for Free >

  • Shopping for a business? New Lenovo Pro members get $100 off first order of $1,000+, exclusive savings & 1:1 tech support. Learn More >

  • Bad credit or no credit? No problem! Katapult offers a simple lease to own payment option to help get what you need. Learn More >

Home > Glossary > What is stack?
Glossary Hero
Learn More
StarStar

Annual Sale

Lenovo Laptop SaleLenovo Laptop Sale

Laptop Deals

Desktop DealsDesktop Deals

Desktop Deals

Workstation DealsWorkstation Deals

Workstation Deals

StoreStore

Pick Up Today at Best Buy

ControllerController

Gaming PC & Accessory Deals

MouseMouse

PC Accessories & Electronics Deals

MonitorMonitor

Monitor Deals

Tablet and phoneTablet and phone

Tablets & Phones Deals

ServerServer

Server & Storage Deals

Discount tagDiscount tag

Clearance Sale


What is stack?

A stack is a data structure used in computer science which operates based on the last-in-first-out (LIFO) principle. This means that the last item you put into the stack is the first one you get out. It's like a stack of plates; you can't remove a plate from the middle without disrupting the whole stack.

Can I use a stack in any programming language?

Yes, you can use a stack in any programming language. Most modern languages have built-in support for stacks, but even if they don't, it's relatively easy to implement your own stack using an array or linked list.

What happens when I try to take an item from an empty stack?

This situation is called a stack underflow. When you try to pop an item from an empty stack, most programming languages will throw an error or exception. It's good practice to always check if the stack is empty before trying to remove an item.

Does the size of a stack grow dynamically?

Yes, the size of a stack can grow dynamically depending on the implementation. In some languages, like Java and C#, the stack will automatically resize itself when it gets full. However, in other languages, like C and C++, you might have to manage this yourself.

Could I use a stack to reverse a word or sentence?

Absolutely, stacks are great for reversing sequences. If you push each character of a word onto a stack and then pop them off, you'll get the word in reverse order. The same goes for sentences if you push each word onto the stack.

Would a stack be a good choice for implementing a back button?

Yes, a stack would be a perfect choice for implementing a back button. Each time you visit a new page, you could push the current page onto the stack. When the back button is clicked, you'd simply pop the top page off the stack and go back to it.

When should I use a stack instead of a queue?

You should use a stack when you need to access elements in a LIFO manner, such as when implementing undo functionality, parsing expressions, or doing depth-first search in a graph. On the other hand, queues are better suited for scenarios where you need first-in-first-out (FIFO) access, like in breadth-first search or when implementing a print spooler.

Can I see all the elements in a stack at once?

Typically, you can only view the top element of a stack, which is the last item that was added. However, depending on the implementation and the language, there may be ways to view all the elements in the stack using debugging tools or by converting the stack to another data structure.

Does a stack have a fixed size?

A stack's size can be either fixed or dynamic. A fixed-size stack has a maximum capacity set when it's created and cannot hold more items than this capacity. A dynamic stack, on the other hand, can grow and shrink as needed, although this can lead to overhead due to the need for memory allocation and deallocation.

Could I use multiple stacks in a single program?

Yes, you can use multiple stacks in a single program. For instance, in an application that has multiple undo and redo operations, each operation could have its own stack.

Would a stack be useful for checking balanced parentheses in an equation?

Yes, a stack is extremely useful for checking balanced parentheses. You can push each opening parenthesis onto the stack, and when you encounter a closing parenthesis, you pop the stack. If the stack is empty when you're done, the parentheses are balanced.

When would a stack overflow occur?

A stack overflow occurs when you try to push more items onto the stack than it can hold. This is common in recursive programming if the recursion goes too deep, and the call stack - which keeps track of function calls - fills up. Most systems will throw an error or crash when this happens.

What's the difference between a stack and a queue?

The primary difference between a stack and a queue lies in their ordering. A stack follows a last-in-first-out (LIFO) ordering: the most recently added item is the first one to be removed. A queue, on the other hand, follows a First-In-First-Out (FIFO) ordering: the item that has been in the queue the longest is the first to be removed.

Can a stack be implemented with a linked list?

Yes, a stack can very effectively be implemented using a linked list. The head of the linked list can represent the top of the stack, with new elements being added or removed from the head of the list.

What are some real-world uses of stacks?

Stacks are used in many areas of computing. For example, they're used in memory management and process execution within operating systems, in algorithm design (like backtracking algorithms), for navigating web pages (the back button), and even in games to track the game state.

What's a call stack?

A call stack is a type of stack that tracks function calls in a program. When a function is called, a record (or "stack frame") is pushed onto the call stack. This record contains information like the function's variables. When the function returns, its record is popped from the stack. If functions call other functions, their records stack up, hence the name.

What is a double-ended queue?

A double-ended queue, or deque (pronounced "deck"), is a generalized version of a queue that allows insertions and removals at both ends. This means it can function as both a stack (LIFO) and a queue (FIFO).

What is a stack pointer?

A stack pointer is a type of pointer used to keep track of the top of the stack. It points to the place in memory where the top element of the stack is stored. When an element is pushed onto the stack, the stack pointer is incremented (or moved forward), and when an element is popped off the stack, the stack pointer is decremented (or moved back).

How does the pop operation work in a stack?

The pop operation removes the top element from the stack and returns it. If the stack is implemented as an array, this involves returning the element at the current top index and then decreasing the top index by one. If it's implemented as a linked list, it involves returning the value of the head node and then moving the head pointer to the next node. In either case, the size of the stack decreases by one.

How does the push operation work in a stack?

The push operation adds an element to the top of the stack. If the stack is implemented as an array, this involves adding an element at the next free index. If it's implemented as a linked list, it involves creating a new node and adjusting the pointers. In either case, the size of the stack increases by one.

Looking for a Great Deal?
Shop Lenovo.com for great deals on A+ Education PCs, Accessories, Bundles and more.
Shop Deals Now

Recommended Education Products

  • Legion 7i Gen 9 (16″ Intel) Gaming Laptop
    Starting at
    $1,699.99
    Learn More
  • ThinkPad X9 15 Aura Edition (15ʺ Intel) Laptop
    Starting at
    $1,547.10
    Learn More
  • Yoga Book 9i (13” Intel)
    Starting at
    $1,999.99
    Learn More
  • Legion 5i Gen 9 (16″ Intel) Gaming Laptop
    Starting at
    $2,144.99
    Learn More
  • Yoga 9i 2-in-1 Aura Edition (14″ Intel) Laptop
    Starting at
    $1,439.99
    Learn More
  • Shop
    • Student Deals
    • K-12 Student Laptops
    • Student Accessories
    • Laptops by Major
    Education resource
    Explore
    • What is STEM?
    • Best Laptops for College
    • Student & Teacher Discounts
    • Lenovo Sustainability Programs
    Education carry case

    Stem Articles
    See All STEM Articles
    • Online STEM Education

    • STEM Career Tips & Resources

    • Women in STEM

    • STEM Educator Training

    • STEM Grants & Funding

    • STEM Education: Coding for Kids

    • STEM Education: Robotics

    • STEM Education: Biotechnology

    • STEM Education: Sustainability

    • STEM Education: AI & ML

    While every effort has been made to ensure accuracy, this glossary is provided for reference purposes only and may contain errors or inaccuracies. It serves as a general resource for understanding commonly used terms and concepts. For precise information or assistance regarding our products, we recommend visiting our dedicated support site, where our team is readily available to address any questions or concerns you may have.

    Why Lenovo?

    Go Greener with Leno...

    Lenovo is committed to Smarter Climate Action with lower energy laptops, use of sustainable materials and packaging, and available CO2 Offset Services.
    Learn More
    pastel background

    Get It Now, Pay For ...

    Lenovo has multiple financing option: the Lenovo Credit Card, installment plans, and lease-to-own financing op...
    Learn More
    pastel background

    Productivity & Peace of Mind

    Stay productive with Premium Care Plus - 24/7 priority support and coverage against accidental damage. Power through your day with our Smart Performance and extended battery solutions.
    Learn More
    pastel background

    Fast & Secure

    Get the most from your laptop with Lenovo’s state-of-the-art Smart Performance, delivering powerful, all-in-on...
    Learn More
    pastel background

    Assistance and Suppo...

    Chat with a trained professional who can help you find the right products, place or check on an order, or setup your Education laptop.
    Contact Us
    pastel background
    Enter email to receive Lenovo marketing and promotional emails. Review our Privacy Statement for more details.
    Please enter the correct email address!
    Email address is required
    • Facebook
    • Twitter
    • Youtube
    • Pinterest
    • TikTok
    • Instagram
    Select Country / Region:
    Country
    AndroidIOS

    About Lenovo

    • Our Company
    • News
    • Investors Relations
    • Compliance
    • ESG
    • Product Recycling
    • Product Security
    • Product Recalls
    • Executive Briefing Center
    • Lenovo Cares
    • Careers
    • Formula 1 Partnership

    Products & Services

    • Laptops & Ultrabooks
    • Smarter AI for You
    • Desktop Computers
    • Workstations
    • Gaming
    • Tablets
    • Servers, Storage, & Networking
    • Accessories & Software
    • Services & Warranty
    • Product FAQs
    • Outlet
    • Deals
    • Lenovo Coupons
    • Cloud Security Software
    • Windows 11 Upgrade

    Shop By Industry

    • Small Business Solutions
    • Large Enterprise Solutions
    • Government Solutions
    • Healthcare Solutions
    • Higher Education Solutions
    • Education Discounts
    • Discount Programs

    Resources

    • Legion Gaming Community
    • Lenovo EDU Community
    • Lenovo Pro Community
    • Lenovo Pro for Business
    • My Lenovo Rewards
    • Lenovo Financing
    • Lenovo Trade-in
    • Customer Discounts
    • Affiliate Program
    • Affinity Program
    • Employee Purchase Program
    • Lenovo Partner Hub
    • Laptop Buying Guide
    • Where to Buy
    • Glossary

    Customer Support

    • Contact Us
    • Policy FAQs
    • Return Policy
    • Shipping Information
    • Order Lookup
    • Register a Product
    • Replacement Parts
    • Technical Support
    • Forums
    • Provide Feedback
    © 2025 Lenovo. All rights reserved.
    PrivacyCookie Consent ToolDo Not Sell or Share My Personal InformationU.S. Privacy NoticeSite MapTerms of UseExternal Submission PolicySales terms and conditionsAnti-Slavery and Human Trafficking Statement
    Compare  ()
    x
    Call

    Need Help? Call: 

    1-855-253-6686

    Select Your Store

    Add items to your Lenovo Pro cart?
    We've noticed that you've entered a different store. Do you want to add these items to your cart in the Lenovo Pro Store?
    No Yes. Add in Lenovo Pro