# What Is First in Last Out in Data Structure?

//

Scott Campbell

What Is First in Last Out in Data Structure?

Data structures are an essential concept in computer science and programming. They allow us to store and organize data efficiently, making it easier to retrieve and manipulate information. One commonly used data structure is the First In Last Out (FILO) principle.

## Understanding the FILO Principle

The FILO principle, also known as Last In First Out (LIFO), is a concept that describes the order in which items are accessed and removed from a data structure. In this case, the last item inserted into the structure is the first one to be removed.

This principle can be visualized by imagining a stack of plates. When you add a new plate to the stack, it goes on top of all the existing plates. When you need to remove a plate, you always take it from the top of the stack, which is the last one added.

### Implementing FILO with Stack Data Structure

In programming, we can implement the FILO principle using a data structure called a stack. A stack is an abstract data type that follows LIFO order, meaning that elements are pushed (added) and popped (removed) from only one end called the “top.”

To create a stack, we need two main operations:

• Push: This operation adds an element to the top of the stack.
• Pop: This operation removes and returns the element at the top of the stack.

To better understand how a stack works:

1. Push elements: Assume we have an empty stack. We push element A onto it.
2. Push more elements: We push elements B, C, and D onto the stack.

The stack now contains A, B, C, D (from bottom to top).

3. Pop an element: We perform a pop operation on the stack. It removes and returns D.
4. Pop more elements: We perform pop operations again. This time it removes and returns C, then B.
5. Empty stack: We continue to perform pop operations until the stack becomes empty.

## Common Use Cases of FILO

The FILO principle has various practical applications in software development. Here are some common use cases where FILO is used:

### Undo/Redo Functionality

In many applications, such as text editors or graphic design software, the undo/redo functionality allows users to revert or reapply changes made to their work. The FILO principle is often employed to implement these features.

Each action performed by the user is stored in a stack. When the user wants to undo an action, the last performed action is popped from the stack and reversed. Similarly, redoing an action involves popping from a redo stack and applying the action again.

### Function Call Stack

In programming languages that support function calls (like JavaScript or Python), a call stack is used to manage multiple functions being executed at once. Each time a function is called, it gets pushed onto the call stack.

When a function completes its execution, it gets popped from the stack. This ensures that functions are executed in a Last In First Out order.

## In Conclusion

The First In Last Out (FILO) principle provides an efficient way to handle data structures where the order of insertion and removal is significant. By understanding this concept and implementing it using a stack, you can optimize your code for various use cases. Whether it’s managing undo/redo functionality or handling function calls, FILO can be a powerful tool in your programming arsenal.