SlideShare a Scribd company logo
4
Most read
6
Most read
12
Most read
•
• KAMRAN KHAN.
• FA14-BSE-099.
• Algorithm & Data Structure.
• Stack & Queue Array implementation.
Stacks and Queues
• Stack
• A stack is a data Structure in which insertion and deletion take
place at the same end.
Stacks are known as LIFO (Last In, First Out) lists.
–The last element inserted will be the first to be retrieved.
–We can only add/remove/examine
the last element added (the "top").
STACK OPERATIONS:
● Push:
To insert an item from Top of stack is called push
operation.
● POP:
To put-off, get or remove some item from top of the
stack is the pop operation.
● IsEmpty:
Stack considered empty when there is no item on top.
IsEmpty operation return true when there is no item in stack else
false.
● IsFull:
Stack considered full if no other element can be inserted
on top of the stack.
Example of Push and Pop
• Push
– Add an element to the top of the stack.
• Pop
– Remove the element at the top of the stack.
top
IsEmpty stack
A
top
push an element
top
push another
A
B
top
pop
A
• Example of Push and Pop
• The Push Operation
• Suppose we have an empty integer stack that is capable of
holding a maximum of three values. With that stack we
execute the following push operations.
push(5);
push(10);
push(15);
• The state of the stack after each of the push operations:
• The Pop Operation
• Now, suppose we execute three consecutive pop
operations on the same stack:
• This is a sample program to demonstrate push and pop functionality in Stack in
Java:
• public class StackDemo {
• private int size = 3;
• int arr[] = new int[size];
• int front = -1; // variable declaration and initialize with -1
• public void push(int pushedElement) { // push method
• if (front < size - 1) { // when front of stack is less size-1
• front++; // increment the top
• arr[front] = pushedElement; // push value at array of front where front is
index
• System.out.println("Element " + pushedElement
• + " is pushed to Stack !");
• printElements(); // calling statement of print element method
• } else {
• System.out.println("Stack Overflow !"); // print when stack is full
• }
• }
• public void pop() { // pop method
• if (front >= 0) { // if condition true when front is greater than 0
• front--; // decrement the front
• System.out.println("Pop operation done !");
• } else {
• System.out.println("Stack Underflow !");
• }
• }
•
• public void printElements() { // display function heading
• if (front >= 0) {
• System.out.println("Elements in stack :");
• for (int i = 0; i <= front; i++) { // loop start from 0 index to the front of the
stack
• System.out.println(arr[i]); // printing statement
• }
• }
• }
• public static void main(String[] args) {
• StackDemo stackDemo = new StackDemo();
•
•
• stackDemo.push(23); // calling statement of push method with parameter
(passing value)
• stackDemo.push(2);
• stackDemo.push(73);
• stackDemo.push(21);
• stackDemo.pop(); // calling statement of pop method
• stackDemo.pop();
• stackDemo.pop();
• stackDemo.pop();
• }
•
• }
• Output
• If everything goes right you will see following output on console
demonstrating all possible cases in Stack Implementation.
• Queue
A queue is a Data structure, in which insertion is done at one
end, while deletion is performed at the other end.
---Accessing the elements of queues follows a First In, First Out
(FIFO) order.
--Like customers standing in a line in a store, the first
customer in is the first customer served.
--We can only add to the end of the
queue, and can only examine/remove
the front of the queue.
Enqueue and Dequeue
• Queue operations: Enqueue and Dequeue
• Like lines in a store, a queue has a front and a rear.
• Enqueue – insert an element at the rear of the queue
• Dequeue – remove an element from the front of the queue
Insert
(Enqueue)
Remove
(Dequeue) rearfront
• Example of Enqueue and Dequeue:
• Suppose we have an empty static integer queue that is
capable of holding a maximum of three values. With that
queue we execute the following enqueue operations.
Enqueue(3);
Enqueue(6);
Enqueue(9);
• Example of Enqueue and Dequeue:
• The state of the queue after each of the enqueue
operations.
• Example of Enqueue and Dequeue:
• Now the state of the queue after each of three consecutive
dequeue operations
Queue Implementation of Array
• There algorithms to implement Enqueue and Dequeue
– When enqueuing, the front index is always fixed and
the rear index moves forward in the array.
front
rear
Enqueue(3)
3
front
rear
Enqueue(6)
3 6
front
rear
Enqueue(9)
3 6 9
Queue Implementation of Array
– When dequeuing, the front index is fixed, and the
element at the front the queue is removed. Move all
the elements after it by one position.
Dequeue()
front
rear
6 9
Dequeue() Dequeue()
front
rear
9
rear = -1
front
• This is a sample program to demonstrate push and pop functionality in
Queue in Java.
• public class QueueDemo {
• private int size = 3; // instance variable and size of of array
• int arr[] = new int[size]; // declaration of array and assigning size to array
•
• int front = -1; // front of queue
• int rear = 0; // rear of queue
•
• public void push(int pushedElement) { // insertion method declaration
• if (front < size - 1) { // front is less then size-1
• front++; //increment the front
• arr[front] = pushedElement; // set element at array at front
• System.out.println("Element " + pushedElement
• + " is pushed to Queue !");
• display(); // display method calling statement
• } else {
• System.out.println("Overflow !");
• }
• }
• public void pop() { // deletion method declaration
• if (front >= rear) { // true till front is greater or equal to rear
• rear++;
• System.out.println("Pop operation done !");
• display(); // display method calling statement
• } else {
• System.out.println("Underflow !");
• }
• }
•
• public void display() { // display method declaration
• if (front >= rear) {
• System.out.println("Elements in Queue : ");
• for (int i = rear; i <= front; i++) { // start from rear to front
• System.out.println(arr[i]);
• }
• }
• }
•
• public static void main(String[] args) {
• QueueDemo queueDemo = new QueueDemo();
• queueDemo.pop();
• queueDemo.push(23); // calling statement of insertion
method
• queueDemo.push(2);
• queueDemo.push(73);
• queueDemo.push(21);
• queueDemo.pop(); // calling statement of deletion method
• queueDemo.pop();
• queueDemo.pop();
• queueDemo.pop();
• }
•
• }
• Output
• If everything goes right you will see following output on
console demonstrating all possible cases in Queue
Implementation
THE END

More Related Content

PPTX
Graph in data structure
PPTX
Introduction To Accounting
PPTX
Java Stack Data Structure.pptx
PPT
Data structure
PPTX
SCHEDULING ALGORITHMS
PPTX
Security Mechanisms
PPTX
Java Queue.pptx
PPTX
Linked list
Graph in data structure
Introduction To Accounting
Java Stack Data Structure.pptx
Data structure
SCHEDULING ALGORITHMS
Security Mechanisms
Java Queue.pptx
Linked list

What's hot (20)

PPTX
PPT
Stack Data Structure & It's Application
PPT
Queue Data Structure
PPTX
Linked list
PDF
Singly linked list
PDF
Applications of stack
PPTX
Stack_Data_Structure.pptx
PDF
sparse matrix in data structure
PPTX
Binary Search Tree in Data Structure
PPTX
My lectures circular queue
PPT
Data Structure and Algorithms Binary Search Tree
PPTX
Hashing and Hashtable, application of hashing, advantages of hashing, disadva...
PDF
Linked List, Types of Linked LIst, Various Operations, Applications of Linked...
PPTX
Queue_Data_Structure.pptx
PPT
List Data Structure
PPT
Data Structure and Algorithms Arrays
PPT
Chapter 11 - Sorting and Searching
PPTX
Merge sort
PPTX
Ppt of dbms e r features
PPT
Linked lists
Stack Data Structure & It's Application
Queue Data Structure
Linked list
Singly linked list
Applications of stack
Stack_Data_Structure.pptx
sparse matrix in data structure
Binary Search Tree in Data Structure
My lectures circular queue
Data Structure and Algorithms Binary Search Tree
Hashing and Hashtable, application of hashing, advantages of hashing, disadva...
Linked List, Types of Linked LIst, Various Operations, Applications of Linked...
Queue_Data_Structure.pptx
List Data Structure
Data Structure and Algorithms Arrays
Chapter 11 - Sorting and Searching
Merge sort
Ppt of dbms e r features
Linked lists
Ad

Viewers also liked (20)

PPT
PPT
Splay tree
PPTX
B tree &amp;
PPT
B trees and_b__trees
PPTX
B tree long
PPT
B tree
PPTX
PPSX
Data Structure (Dynamic Array and Linked List)
PPTX
5 Array List, data structure course
PPTX
stack & queue
PPT
03 stacks and_queues_using_arrays
PPTX
Data Structure -List Stack Queue
PDF
C and data structure
PPT
1.8 splay tree
PPT
Stack Implementation
PPTX
BTree, Data Structures
PPT
chapter - 6.ppt
PPT
Arrays Data Structure
PPTX
B tree
Splay tree
B tree &amp;
B trees and_b__trees
B tree long
B tree
Data Structure (Dynamic Array and Linked List)
5 Array List, data structure course
stack & queue
03 stacks and_queues_using_arrays
Data Structure -List Stack Queue
C and data structure
1.8 splay tree
Stack Implementation
BTree, Data Structures
chapter - 6.ppt
Arrays Data Structure
B tree
Ad

Similar to stack and queue array implementation in java. (20)

PPTX
Stack and Queue.pptx university exam preparation
PPTX
Stack and Queue.pptx
PPT
Stacks
PDF
Chapter 4 stack
PPTX
Data Structures Stack and Queue Data Structures
PPTX
DS-UNIT 3 FINAL.pptx
PPTX
Stack,queue and linked list data structure.pptx
PDF
Chapter 5 Stack and Queue.pdf
PPT
Stack in Data Structure
PPTX
Stack.pptx
PPT
week 7,8,10,11 alll files included from .ppt
PPTX
Stack and its operations, Queue and its operations
PPTX
STACK_IN_DATA STRUCTURE AND ALGORITHMS.pptx
PDF
What is Stack, Its Operations, Queue, Circular Queue, Priority Queue
PPT
Queue AS an ADT (Abstract Data Type)
PPTX
Module 2 ppt.pptx
PPTX
CHAPTER 4 Learning QUEUE data structure.pptx
PPTX
5.-Stacks.pptx
PPTX
Queues
Stack and Queue.pptx university exam preparation
Stack and Queue.pptx
Stacks
Chapter 4 stack
Data Structures Stack and Queue Data Structures
DS-UNIT 3 FINAL.pptx
Stack,queue and linked list data structure.pptx
Chapter 5 Stack and Queue.pdf
Stack in Data Structure
Stack.pptx
week 7,8,10,11 alll files included from .ppt
Stack and its operations, Queue and its operations
STACK_IN_DATA STRUCTURE AND ALGORITHMS.pptx
What is Stack, Its Operations, Queue, Circular Queue, Priority Queue
Queue AS an ADT (Abstract Data Type)
Module 2 ppt.pptx
CHAPTER 4 Learning QUEUE data structure.pptx
5.-Stacks.pptx
Queues

Recently uploaded (20)

PDF
Become an Agentblazer Champion Challenge Kickoff
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Perfecting Gamer’s Experiences with Performance Testing for Gaming Applicatio...
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PDF
AI in Product Development-omnex systems
PPTX
CRUISE TICKETING SYSTEM | CRUISE RESERVATION SOFTWARE
PPTX
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
PPTX
Hire Expert WordPress Developers from Brainwings Infotech
PPT
Introduction Database Management System for Course Database
PDF
Build Multi-agent using Agent Development Kit
PPTX
Save Business Costs with CRM Software for Insurance Agents
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
PDF
Community & News Update Q2 Meet Up 2025
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
PDF
Exploring AI Agents in Process Industries
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
PPTX
Benefits of DCCM for Genesys Contact Center
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Jenkins: An open-source automation server powering CI/CD Automation
Become an Agentblazer Champion Challenge Kickoff
2025 Textile ERP Trends: SAP, Odoo & Oracle
Perfecting Gamer’s Experiences with Performance Testing for Gaming Applicatio...
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
AI in Product Development-omnex systems
CRUISE TICKETING SYSTEM | CRUISE RESERVATION SOFTWARE
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
Hire Expert WordPress Developers from Brainwings Infotech
Introduction Database Management System for Course Database
Build Multi-agent using Agent Development Kit
Save Business Costs with CRM Software for Insurance Agents
The Future of Smart Factories Why Embedded Analytics Leads the Way
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Community & News Update Q2 Meet Up 2025
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Exploring AI Agents in Process Industries
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Benefits of DCCM for Genesys Contact Center
How to Migrate SBCGlobal Email to Yahoo Easily
Jenkins: An open-source automation server powering CI/CD Automation

stack and queue array implementation in java.

  • 1. • • KAMRAN KHAN. • FA14-BSE-099. • Algorithm & Data Structure. • Stack & Queue Array implementation.
  • 3. • Stack • A stack is a data Structure in which insertion and deletion take place at the same end. Stacks are known as LIFO (Last In, First Out) lists. –The last element inserted will be the first to be retrieved. –We can only add/remove/examine the last element added (the "top").
  • 4. STACK OPERATIONS: ● Push: To insert an item from Top of stack is called push operation. ● POP: To put-off, get or remove some item from top of the stack is the pop operation. ● IsEmpty: Stack considered empty when there is no item on top. IsEmpty operation return true when there is no item in stack else false. ● IsFull: Stack considered full if no other element can be inserted on top of the stack.
  • 5. Example of Push and Pop • Push – Add an element to the top of the stack. • Pop – Remove the element at the top of the stack. top IsEmpty stack A top push an element top push another A B top pop A
  • 6. • Example of Push and Pop • The Push Operation • Suppose we have an empty integer stack that is capable of holding a maximum of three values. With that stack we execute the following push operations. push(5); push(10); push(15);
  • 7. • The state of the stack after each of the push operations:
  • 8. • The Pop Operation • Now, suppose we execute three consecutive pop operations on the same stack:
  • 9. • This is a sample program to demonstrate push and pop functionality in Stack in Java: • public class StackDemo { • private int size = 3; • int arr[] = new int[size]; • int front = -1; // variable declaration and initialize with -1 • public void push(int pushedElement) { // push method • if (front < size - 1) { // when front of stack is less size-1 • front++; // increment the top • arr[front] = pushedElement; // push value at array of front where front is index • System.out.println("Element " + pushedElement • + " is pushed to Stack !"); • printElements(); // calling statement of print element method • } else { • System.out.println("Stack Overflow !"); // print when stack is full • } • }
  • 10. • public void pop() { // pop method • if (front >= 0) { // if condition true when front is greater than 0 • front--; // decrement the front • System.out.println("Pop operation done !"); • } else { • System.out.println("Stack Underflow !"); • } • } • • public void printElements() { // display function heading • if (front >= 0) { • System.out.println("Elements in stack :"); • for (int i = 0; i <= front; i++) { // loop start from 0 index to the front of the stack • System.out.println(arr[i]); // printing statement • } • } • }
  • 11. • public static void main(String[] args) { • StackDemo stackDemo = new StackDemo(); • • • stackDemo.push(23); // calling statement of push method with parameter (passing value) • stackDemo.push(2); • stackDemo.push(73); • stackDemo.push(21); • stackDemo.pop(); // calling statement of pop method • stackDemo.pop(); • stackDemo.pop(); • stackDemo.pop(); • } • • }
  • 12. • Output • If everything goes right you will see following output on console demonstrating all possible cases in Stack Implementation.
  • 13. • Queue A queue is a Data structure, in which insertion is done at one end, while deletion is performed at the other end. ---Accessing the elements of queues follows a First In, First Out (FIFO) order. --Like customers standing in a line in a store, the first customer in is the first customer served. --We can only add to the end of the queue, and can only examine/remove the front of the queue.
  • 14. Enqueue and Dequeue • Queue operations: Enqueue and Dequeue • Like lines in a store, a queue has a front and a rear. • Enqueue – insert an element at the rear of the queue • Dequeue – remove an element from the front of the queue Insert (Enqueue) Remove (Dequeue) rearfront
  • 15. • Example of Enqueue and Dequeue: • Suppose we have an empty static integer queue that is capable of holding a maximum of three values. With that queue we execute the following enqueue operations. Enqueue(3); Enqueue(6); Enqueue(9);
  • 16. • Example of Enqueue and Dequeue: • The state of the queue after each of the enqueue operations.
  • 17. • Example of Enqueue and Dequeue: • Now the state of the queue after each of three consecutive dequeue operations
  • 18. Queue Implementation of Array • There algorithms to implement Enqueue and Dequeue – When enqueuing, the front index is always fixed and the rear index moves forward in the array. front rear Enqueue(3) 3 front rear Enqueue(6) 3 6 front rear Enqueue(9) 3 6 9
  • 19. Queue Implementation of Array – When dequeuing, the front index is fixed, and the element at the front the queue is removed. Move all the elements after it by one position. Dequeue() front rear 6 9 Dequeue() Dequeue() front rear 9 rear = -1 front
  • 20. • This is a sample program to demonstrate push and pop functionality in Queue in Java. • public class QueueDemo { • private int size = 3; // instance variable and size of of array • int arr[] = new int[size]; // declaration of array and assigning size to array • • int front = -1; // front of queue • int rear = 0; // rear of queue • • public void push(int pushedElement) { // insertion method declaration • if (front < size - 1) { // front is less then size-1 • front++; //increment the front • arr[front] = pushedElement; // set element at array at front • System.out.println("Element " + pushedElement • + " is pushed to Queue !"); • display(); // display method calling statement • } else { • System.out.println("Overflow !"); • } • }
  • 21. • public void pop() { // deletion method declaration • if (front >= rear) { // true till front is greater or equal to rear • rear++; • System.out.println("Pop operation done !"); • display(); // display method calling statement • } else { • System.out.println("Underflow !"); • } • } • • public void display() { // display method declaration • if (front >= rear) { • System.out.println("Elements in Queue : "); • for (int i = rear; i <= front; i++) { // start from rear to front • System.out.println(arr[i]); • } • } • } •
  • 22. • public static void main(String[] args) { • QueueDemo queueDemo = new QueueDemo(); • queueDemo.pop(); • queueDemo.push(23); // calling statement of insertion method • queueDemo.push(2); • queueDemo.push(73); • queueDemo.push(21); • queueDemo.pop(); // calling statement of deletion method • queueDemo.pop(); • queueDemo.pop(); • queueDemo.pop(); • } • • }
  • 23. • Output • If everything goes right you will see following output on console demonstrating all possible cases in Queue Implementation