Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1e4c444

Browse files
inbuilt + custom Hybrid Queue implimentation with arrays,Stacks.
1 parent 93b89a5 commit 1e4c444

File tree

3 files changed

+154
-0
lines changed

3 files changed

+154
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.udemy.dsapart1.queues;
2+
import java.util.Arrays;
3+
import java.util.Scanner;
4+
5+
public class DriverForQueueOperations {
6+
7+
static double[] arrayOfQue;
8+
static QueueEntity queObj;
9+
public static void main(String[] args) {
10+
Scanner scInpObj = new Scanner(System.in);
11+
System.out.print("\nEnter the size of Que : ");
12+
int sizeOfQue = scInpObj.nextInt();
13+
queObj=new QueueEntity(sizeOfQue);
14+
pushElementsIntoArray(sizeOfQue);
15+
System.out.println("\nNew Que after enqueue operation : "+Arrays.toString(queObj.getDataItem()));
16+
queObj.doDequeRemoveElement();
17+
queObj.doDequeRemoveElement();
18+
queObj.doDequeRemoveElement();
19+
System.out.println("\nNew Que after dequeue operation : "+Arrays.toString(queObj.getDataItem()));
20+
queObj.doEnqueInsertElement(48.34);
21+
queObj.doEnqueInsertElement(5000.34);
22+
System.out.println("\nNew Que after Enqueue operation : "+Arrays.toString(queObj.getDataItem()));
23+
System.out.println("\nLatest size of Queue : "+queObj.getSizeOfQue());
24+
}
25+
26+
27+
private static void pushElementsIntoArray(int sizeOfQue) {
28+
arrayOfQue=new double[sizeOfQue];
29+
Scanner scInp1Obj = new Scanner(System.in);
30+
for (int i = 0; i < sizeOfQue; i++) {
31+
System.out.print("\npush the element No " + (i + 1) + " : ");
32+
arrayOfQue[i]=scInp1Obj.nextDouble();
33+
queObj.doEnqueInsertElement(arrayOfQue[i]);
34+
}
35+
}
36+
37+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.udemy.dsapart1.queues;
2+
import java.util.Scanner;
3+
import java.util.Stack;
4+
5+
public class HybridQueueUsingStack {
6+
7+
static double[] arrayOfQue;
8+
static Stack<Double> srcStack;
9+
static Stack<Double> tempStack;
10+
11+
public static void main(String[] args) {
12+
Scanner scInpObj = new Scanner(System.in);
13+
System.out.print("\nEnter the size of Que : ");
14+
int sizeOfQue = scInpObj.nextInt();
15+
srcStack=new Stack<>();
16+
tempStack=new Stack<>();
17+
pushElementsIntoArray(sizeOfQue);
18+
System.out.println("\nNew hybrid-Queue after enqueue operation : "+srcStack);
19+
performCustomDeque();
20+
performCustomDeque();
21+
performCustomEnque(1002.33);
22+
performCustomEnque(-239.33);
23+
performCustomDeque();
24+
performCustomDeque();
25+
performCustomDeque();
26+
System.out.println("\nLatest hybrid-Queue status : "+srcStack);
27+
}
28+
29+
30+
public static void performCustomEnque(double dataItem)
31+
{
32+
srcStack.push(dataItem);
33+
System.out.println("\n"+dataItem+" enqueued/pushed to stack.");
34+
}
35+
36+
37+
public static double performCustomDeque() {
38+
while (!srcStack.isEmpty()) {
39+
tempStack.push(srcStack.pop());
40+
}
41+
double tempPeekItem=tempStack.pop();
42+
while (!tempStack.isEmpty()) {
43+
srcStack.push(tempStack.pop());
44+
}
45+
System.out.println("\n"+tempPeekItem+" item dequeued from que.");
46+
return tempPeekItem;
47+
}
48+
49+
50+
private static void pushElementsIntoArray(int sizeOfQue) {
51+
arrayOfQue=new double[sizeOfQue];
52+
Scanner scInp1Obj = new Scanner(System.in);
53+
for (int i = 0; i < sizeOfQue; i++) {
54+
System.out.print("\npush the element No " + (i + 1) + " : ");
55+
arrayOfQue[i]=scInp1Obj.nextDouble();
56+
performCustomEnque(arrayOfQue[i]);
57+
}
58+
}
59+
60+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.udemy.dsapart1.queues;
2+
3+
public class QueueEntity {
4+
5+
private double[] dataItem;
6+
private int rearIndex;
7+
private int sizeOfQue;
8+
9+
public QueueEntity(int sizeOfQue) {
10+
this.rearIndex = -1;
11+
this.dataItem=new double[sizeOfQue];
12+
}
13+
14+
15+
/**
16+
* @return the rearIndex
17+
*/
18+
public int getRearIndex() {
19+
return rearIndex;
20+
}
21+
22+
/**
23+
* @return the sizeOfQue
24+
*/
25+
public int getSizeOfQue() {
26+
return sizeOfQue;
27+
}
28+
29+
30+
public void doEnqueInsertElement(double inputData) {
31+
rearIndex++;
32+
dataItem[rearIndex] = inputData;
33+
sizeOfQue++;
34+
System.out.println("\n"+inputData+" value enqued to que.");
35+
}
36+
37+
38+
public double doDequeRemoveElement() {
39+
double tempDequeElement = dataItem[0];
40+
for (int i = 0; i <rearIndex; i++) {
41+
dataItem[i] = dataItem[i + 1];
42+
}
43+
dataItem[rearIndex--]=0;
44+
sizeOfQue--;
45+
System.out.println("\n"+tempDequeElement+" item dequed from que.");
46+
return tempDequeElement;
47+
}
48+
49+
50+
/**
51+
* @return the dataItem
52+
*/
53+
public double[] getDataItem() {
54+
return dataItem;
55+
}
56+
57+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /