JAVA Implement following code using linked list: import java.util.Scanner; class
ID: 3603646 • Letter: J
Question
JAVA
Implement following code using linked list:
import java.util.Scanner;
class Queue {
int PPS[], front, rear, size, length;
public Queue(int n) { // Constructor
size = n;
length = 0;
PPS = new int[size];
front = rear = -1;
}
public boolean isFull() { // If full or not
if (front == 0 && rear == (size - 1))
return true;
else
return false;
}
public boolean isEmpty() { // If empty or not
if (length == 0)
return true;
else
return false;
}
public int getLength() {
return length;
}
public void enqueue(int pps) {
if (rear == -1) { // If queue is empty
rear = 0;
PPS[rear] = pps;
front = 0;
length++;
} else if ((rear + 1) < size) // If queue is not empty and have space
{
PPS[++rear] = pps;
length++;
} else if (isFull())
System.out.println("Queue is Full.");
}
public void dequeue() {
if (isEmpty()) {
System.out.println("Queue is empty.");
} else {
int deleted = PPS[front];
if (front == rear) { // If only one element is left
front = rear = -1;
} else
front++;
length--;
System.out.println("Deleted element: " + deleted);
}
}
public void print() {
if (isEmpty()) {
System.out.println("Queue is Empty.");
} else {
System.out.println(" Queue:");
int index;
for (index = front; index <= rear; index++) {
System.out.print(PPS[index] + " ");
}
System.out.println();
}
}
}
public class Welfare {
private static Scanner stream;
public static void main(String args[]) {
int capacity, ch;
stream = new Scanner(System.in);
System.out.print("Enter queue capacity: ");
capacity = stream.nextInt();
Queue queue = new Queue(capacity); // Create queue
do {
System.out.println(" Queue Options:");
System.out.println("1. Enqueue.");
System.out.println("2. Dequeue.");
System.out.println("3. Check for full.");
System.out.println("4. Check for empty.");
System.out.println("5. Get queue size.");
System.out.println("6. Exit.");
System.out.print(" Choose an option: ");
ch = stream.nextInt(); // read user's choice
switch (ch) {
case 1:
System.out.print("Enter a PPS to enqueue: ");
queue.enqueue(stream.nextInt());
break;
case 2:
queue.dequeue();
break;
case 3:
if (queue.isFull())
System.out.println("Queue is full.");
else
System.out.println("Queue is not full.");
break;
case 4:
if (queue.isEmpty())
System.out.println("Queue is empty.");
else
System.out.println("Queue is not empty.");
break;
case 5:
System.out.println("Queue size: " + queue.getLength());
break;
case 6:
break;
default:
System.out.println("Wrong choice. ");
break;
}
queue.print();
} while (ch != 6); // Exit on user's choice
}
}
Explanation / Answer
Here is java implementation of queue using linked list.
import java.io.*; //Imports modules necessary for input and output operations
class node
{
int data;
node next;
public node(int x)
{
data=x;
next=null;
}
}
class QueueOps
{
node f=null,l=null;
public boolean isEmpty()
{
if (f==null || l==null)
return true;
else
return false;
}
public void enqueue(int x) //Method enters element into QUEUE
{
if (isEmpty()==true) //checks whether QUEUE is empty
{
node p=new node (x);
f=l=p;
}
else
{
node p=new node (x);
l.next=p;
l=p;
}
}
public int dequeue() //Method delete last element from QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
return -1;
}
else
{
int x=f.data;
f=f.next;
return x;
}
}
public int peek() //Method results peek value in from QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
return -1;
}
else
{
return(f.data);
}
}
public void display() //this method displays the elements present in QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
}
else
{
node temp=f;
while (temp!=null)
{
System.out.print(temp.data+" ");
temp=temp.next;
}
}
}
}
public class Queueusingll
{
public static void main(String[] args) throws IOException
{
BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); //Creates object named obj to accept input integers
int ch,x;
QueueOps que=new QueueOps(); //defining object named que
do
{
System.out.println("##MENU##");
System.out.println("1.Insert element in queue");
System.out.println("2.Remove element from queue");
System.out.println("3.Peek Element in queue");
System.out.println("4.Display queue");
System.out.println("5. Check for empty");
System.out.println("6.Exit");
System.out.println("Enter your choice");
ch=Integer.parseInt(obj.readLine());
switch(ch)
{
case 1:System.out.println("Enter element to be inserted");
x=Integer.parseInt(obj.readLine());
que.enqueue(x);
break;
case 2:System.out.println("Removed element:"+que.dequeue());
break;
case 3:System.out.println("Peeked element:"+que.peek());
break;
case 4:que.display();
break;
case 5: System.out.println("Is Queue is Empty?:"+que.isEmpty());
}
}while(ch!=6); //Because we have only 5 items in menu
}
}
/* Sample Output
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
20
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
30
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
40
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
4
10 20 30 40
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
3
Peeked element:10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
2
Removed element:10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
2
Removed element:20
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
4
30 40
*/
import java.io.*; //Imports modules necessary for input and output operations
class node
{
int data;
node next;
public node(int x)
{
data=x;
next=null;
}
}
class QueueOps
{
node f=null,l=null;
public boolean isEmpty()
{
if (f==null || l==null)
return true;
else
return false;
}
public void enqueue(int x) //Method enters element into QUEUE
{
if (isEmpty()==true) //checks whether QUEUE is empty
{
node p=new node (x);
f=l=p;
}
else
{
node p=new node (x);
l.next=p;
l=p;
}
}
public int dequeue() //Method delete last element from QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
return -1;
}
else
{
int x=f.data;
f=f.next;
return x;
}
}
public int peek() //Method results peek value in from QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
return -1;
}
else
{
return(f.data);
}
}
public void display() //this method displays the elements present in QUEUE
{
if(isEmpty()==true)
{
System.out.println("Queue is Empty");
}
else
{
node temp=f;
while (temp!=null)
{
System.out.print(temp.data+" ");
temp=temp.next;
}
}
}
}
public class Queueusingll
{
public static void main(String[] args) throws IOException
{
BufferedReader obj=new BufferedReader(new InputStreamReader(System.in)); //Creates object named obj to accept input integers
int ch,x;
QueueOps que=new QueueOps(); //defining object named que
do
{
System.out.println("##MENU##");
System.out.println("1.Insert element in queue");
System.out.println("2.Remove element from queue");
System.out.println("3.Peek Element in queue");
System.out.println("4.Display queue");
System.out.println("5. Check for empty");
System.out.println("6.Exit");
System.out.println("Enter your choice");
ch=Integer.parseInt(obj.readLine());
switch(ch)
{
case 1:System.out.println("Enter element to be inserted");
x=Integer.parseInt(obj.readLine());
que.enqueue(x);
break;
case 2:System.out.println("Removed element:"+que.dequeue());
break;
case 3:System.out.println("Peeked element:"+que.peek());
break;
case 4:que.display();
break;
case 5: System.out.println("Is Queue is Empty?:"+que.isEmpty());
}
}while(ch!=6); //Because we have only 5 items in menu
}
}
/* Sample Output
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
20
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
30
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
1
Enter element to be inserted
40
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
4
10 20 30 40
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
3
Peeked element:10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
2
Removed element:10
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
2
Removed element:20
##MENU##
1.Insert element in queue
2.Remove element from queue
3.Peek Element in queue
4.Display queue
5. Check for empty
6.Exit
Enter your choice
4
30 40
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.