Skip to content

Visual Comparison Of Stacks And Queues

This file uses Mermaid diagrams to explain stacks and queues visually.

Stack

mermaid flowchart TD A[Top: 30] --> B[20] B --> C[10]

push and pop happen at the top.

Queue

mermaid flowchart LR A[Front] --> B[10] B --> C[20] C --> D[30] E[Rear] --> D

Insertion happens at rear. Deletion happens at front.

Circular Queue

mermaid flowchart LR A[0] --> B[1] B --> C[2] C --> D[3] D --> E[4] E --> A

Rear wraps around to reuse free space.

Priority Queue

mermaid flowchart TD A[Items] --> B[A priority 3] A --> C[B priority 1] A --> D[C priority 2] C --> E[Leaves first]

The highest-priority item is served first.

Infix To Postfix Using Stack

mermaid flowchart LR A[Read A] --> B[Output A] B --> C[Read +] C --> D[Push +] D --> E[Read B] E --> F[Output B] F --> G[Read *] G --> H[Push *] H --> I[Read C] I --> J[Output C] J --> K[Pop *] K --> L[Pop +] L --> M[Postfix: A B C * +]

Postfix Evaluation

mermaid flowchart LR A[2] --> B[Push 2] B --> C[3] C --> D[Push 3] D --> E[4] E --> F[Push 4] F --> G[*] G --> H[Pop 4 and 3, multiply, push 12] H --> I[+] I --> J[Pop 12 and 2, add, push 14]

One-Page Comparison

```mermaid flowchart TD A[Linear Structures] --> B[Stack] A --> C[Queue] A --> D[Circular Queue] A --> E[Priority Queue]

B --> B1[LIFO]
B --> B2[Push and Pop at top]

C --> C1[FIFO]
C --> C2[Front and Rear]

D --> D1[FIFO]
D --> D2[Wrap-around array]

E --> E1[Priority based]
E --> E2[Not just arrival order]

```