# Implementation: Stacks and Queues

## Stack

- Stack - A stack is a data structure that consists of Nodes. Each Node references the next Node in the stack, but does not reference its previous.

- FILO - First in Last Out | This means that the first item added in the stack will be the last item popped out of the stack.

- LIFO - Last in First Out | This means that the last item added to the stack will be the first item popped out of the stack.

*Above are examples of Stack*

Cited from: https://codefellows.github.io/common_curriculum/data_structures_and_algorithms/Code_401/class-10/resources/stacks_and_queues.html 

## Queues

- Enqueue - Nodes or items that are added to the queue.

- Dequeue - Nodes or items that are removed from the queue. If called when the queue is empty an exception will be raised.

- Front - This is the front/first Node of the queue.

- Rear - This is the rear/last Node of the queue.

- Peek - When you peek you will view the value of the front Node in the queue. If called when the queue is empty an exception will be raised.

- IsEmpty - returns true when queue is empty otherwise returns false.

- FIFO - This means that the first item in the queue will be the first item out of the queue.

- LILO - This means that the last item in the queue will be the last item out of the queue.

*Above are examples of Queue*

Cited from: https://codefellows.github.io/common_curriculum/data_structures_and_algorithms/Code_401/class-10/resources/stacks_and_queues.html 


## REFERENCES

Cited from: https://codefellows.github.io/common_curriculum/data_structures_and_algorithms/Code_401/class-10/resources/stacks_and_queues.html 
