# What Is Difference Between Stack and Queue in Data Structure?

//

Larry Thompson

What Is the Difference Between Stack and Queue in Data Structure?

A stack and a queue are two fundamental data structures in computer science. Both the stack and the queue are used to store and retrieve data, but they differ in their underlying principles and operations.

## Stack

A stack is an abstract data type that follows the Last-In-First-Out (LIFO) principle. It works like a stack of plates, where you can only access the topmost plate. The element that is added last is the first one to be removed.

In a stack, elements are added or removed from only one end, known as the top of the stack. This operation is called push for adding elements and pop for removing elements.

Key characteristics of a stack:

• The element added last is always at the top of the stack.
• The element that was added first will be at the bottom of the stack.
• New elements can only be added or removed from the top of the stack.

## Queue

A queue is another abstract data type that follows the First-In-First-Out (FIFO) principle. It works like a queue of people waiting in line, where the first person to join is also the first person to leave.

In a queue, elements are added at one end, known as the rear or tail, and removed from another end, known as the front or head. This operation is called enqueue for adding elements and dequeue for removing elements.

Key characteristics of a queue:

• The element added first is always at the front of the queue.
• The element that was added last will be at the rear of the queue.
• New elements can only be added at the rear and removed from the front of the queue.

## Differences between Stack and Queue

Now that we understand the basic principles of stack and queue, let’s look at their differences:

### Order of Retrieval

In a stack, elements are retrieved in reverse order. The last element added is the first one to be retrieved.

On the other hand, in a queue, elements are retrieved in the same order they were added. The first element added is the first one to be retrieved.

### Insertion and Deletion

In a stack, both insertion and deletion happen at one end (the top), while in a queue, insertion happens at one end (the rear) and deletion happens at another end (the front).

### Usage

Stacks are commonly used for tasks that require backtracking or maintaining function calls (e.g., recursion). They are also useful for undo operations in text editors or web browsers. Queues, on the other hand, are often used for scheduling processes or handling requests like printing documents or serving network requests.

Summary:

In summary, stacks and queues are both important data structures with distinct characteristics. Stacks follow LIFO order and allow access to only one end (top), while queues follow FIFO order and allow access to both ends (front and rear). Understanding these differences is crucial when designing algorithms or choosing data structures for specific tasks.