Photo by La-Rel Easter on Unsplash

# A Practical Guide to the Stack Data Structure

## Our first linear data structure.

To help me conceptualize stacks and also some of their functions, I usually think of it as a stack of books or a stack of Jenga bricks as you can see on the cover image above. A stack is a linear data structure that functions on the **Last In First Out (LIFO)** principle which means that the last element in a stack is the first one to be removed, just like a stack of books.

### Stack Implementation in Python

### Stack Implementation in Go

## Uses of Stacks

It is used to evaluate arithmetic operations.

It is used in backtracking, a recursive algorithm used for solving optimization problems.

It is used for delimiter checking.

It is used to reverse a given set of data.

It is used to process function calls.