SlideShare a Scribd company logo
4
Most read
9
Most read
13
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

What's hot (20)

Data Structures (CS8391)
Data Structures (CS8391)
Elavarasi K
 
Linked lists
Linked lists
SARITHA REDDY
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]
Muhammad Hammad Waseem
 
Queue data structure
Queue data structure
anooppjoseph
 
Linked List
Linked List
Ashim Lamichhane
 
Linked list
Linked list
KalaivaniKS1
 
STACK ( LIFO STRUCTURE) - Data Structure
STACK ( LIFO STRUCTURE) - Data Structure
Yaksh Jethva
 
Data structure by Digvijay
Data structure by Digvijay
Digvijay Singh Karakoti
 
Stack project
Stack project
Amr Aboelgood
 
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Albin562191
 
Queue ppt
Queue ppt
SouravKumar328
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturer
gomathi chlm
 
1.1 binary tree
1.1 binary tree
Krish_ver2
 
Hashing PPT
Hashing PPT
Saurabh Kumar
 
Queues
Queues
Lovely Professional University
 
Unit 2 linked list and queues
Unit 2 linked list and queues
kalyanineve
 
single linked list
single linked list
Sathasivam Rangasamy
 
Queue AS an ADT (Abstract Data Type)
Queue AS an ADT (Abstract Data Type)
Self-Employed
 
Linked list
Linked list
MahammadAdil
 
Queue
Queue
Nabeel Ahsen
 

Viewers also liked (20)

Arrays
Arrays
archikabhatia
 
Splay tree
Splay tree
Rajendran
 
B tree &amp;
B tree &amp;
memonayounas
 
B trees and_b__trees
B trees and_b__trees
Rakhi Srivastava
 
B tree long
B tree long
Nikhil Sharma
 
B tree
B tree
Rajendran
 
Arrays C#
Arrays C#
Raghuveer Guthikonda
 
Data Structure (Dynamic Array and Linked List)
Data Structure (Dynamic Array and Linked List)
Adam Mukharil Bachtiar
 
5 Array List, data structure course
5 Array List, data structure course
Mahmoud Alfarra
 
stack & queue
stack & queue
manju rani
 
03 stacks and_queues_using_arrays
03 stacks and_queues_using_arrays
tameemyousaf
 
Data Structure -List Stack Queue
Data Structure -List Stack Queue
surya pandian
 
C and data structure
C and data structure
prabhatjon
 
Splay Tree
Splay Tree
Dr Sandeep Kumar Poonia
 
1.8 splay tree
1.8 splay tree
Krish_ver2
 
Stack Implementation
Stack Implementation
Zidny Nafan
 
BTree, Data Structures
BTree, Data Structures
Jibrael Jos
 
chapter - 6.ppt
chapter - 6.ppt
Tareq Hasan
 
Arrays Data Structure
Arrays Data Structure
student
 
B tree
B tree
Tech_MX
 
Ad

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

Ds stack & queue
Ds stack & queue
Sunipa Bera
 
Stack linked list
Stack linked list
bhargav0077
 
stacks and queues for public
stacks and queues for public
iqbalphy1
 
Lecture9_StackQueuepresentationaaaaa.ppt
Lecture9_StackQueuepresentationaaaaa.ppt
PrernaPasoriya
 
Lecture9_StackQueue operation on stacks .ppt
Lecture9_StackQueue operation on stacks .ppt
ssuser7b9bda1
 
StackQueue.ppt
StackQueue.ppt
AfrozAlamKiVines
 
Lecture9_StackQueue.ppt
Lecture9_StackQueue.ppt
MuhammadSheraz836877
 
Queue Data Structure
Queue Data Structure
Poulami Das Akuli
 
2.1 STACK & QUEUE ADTS
2.1 STACK & QUEUE ADTS
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
queue.pptx
queue.pptx
Dr.Shweta
 
Stack & Queue
Stack & Queue
Hasan Mahadi Riaz
 
23 stacks-queues-deques
23 stacks-queues-deques
Rishabh Jindal
 
VCE Unit 03vv.pptx
VCE Unit 03vv.pptx
skilljiolms
 
Stacks, Queues, Deques
Stacks, Queues, Deques
A-Tech and Software Development
 
CEN 235 4. Abstract Data Types - Queue and Stack.pdf
CEN 235 4. Abstract Data Types - Queue and Stack.pdf
vtunali
 
Stack and Queue.pptx
Stack and Queue.pptx
Ddushb
 
05-stack_queue.ppt
05-stack_queue.ppt
Sarojkumari55
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Queue Data Structure
Queue Data Structure
Zidny Nafan
 
Ad

Recently uploaded (20)

Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
BradBedford3
 
Zoneranker’s Digital marketing solutions
Zoneranker’s Digital marketing solutions
reenashriee
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Migrating to Azure Cosmos DB the Right Way
Migrating to Azure Cosmos DB the Right Way
Alexander (Alex) Komyagin
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Plooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your way
Plooma
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
Artificial Intelligence Applications Across Industries
Artificial Intelligence Applications Across Industries
SandeepKS52
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
Milwaukee Marketo User Group June 2025 - Optimize and Enhance Efficiency - Sm...
BradBedford3
 
Zoneranker’s Digital marketing solutions
Zoneranker’s Digital marketing solutions
reenashriee
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Plooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your way
Plooma
 
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
Smadav Pro 2025 Rev 15.4 Crack Full Version With Registration Key
joybepari360
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Advanced Token Development - Decentralized Innovation
Advanced Token Development - Decentralized Innovation
arohisinghas720
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
Artificial Intelligence Applications Across Industries
Artificial Intelligence Applications Across Industries
SandeepKS52
 

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