Skip to content

Commit 5b55b8e

Browse files
committed
queue using 2 stacks
1 parent ffccee2 commit 5b55b8e

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

Assignments/queuebystack.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class queuebystack
5+
{
6+
7+
Stack<Integer> s1 = new Stack<Integer>();
8+
Stack<Integer> s2 = new Stack<Integer>();
9+
void enqueue(int a)
10+
{
11+
s1.push(a);
12+
13+
}
14+
int dequeue()
15+
{
16+
if(s1.empty())
17+
{
18+
return 0;
19+
}
20+
while(!s1.empty())
21+
{
22+
s2.push(s1.pop());
23+
}
24+
int a = s2.pop();
25+
while(!s2.empty())
26+
{
27+
s1.push(s2.pop());
28+
}
29+
30+
return a;
31+
}
32+
void show()
33+
{
34+
if(s1.empty())
35+
{
36+
System.out.println("Empty queue");
37+
return;
38+
}
39+
while(!s1.empty())
40+
{
41+
s2.push(s1.pop());
42+
}
43+
while(!s2.empty())
44+
{
45+
int a = s2.peek();
46+
s1.push(s2.pop());
47+
System.out.print(a+" ");
48+
}
49+
}
50+
51+
52+
public static void main(String []agrs)
53+
{
54+
queuebystack q = new queuebystack();
55+
q.enqueue(1);
56+
q.enqueue(2);
57+
q.enqueue(3);
58+
q.enqueue(4);
59+
q.enqueue(5);
60+
q.enqueue(6);
61+
q.show();
62+
63+
//System.out.print(q.dequeue());
64+
System.out.println("\n"+q.dequeue());
65+
q.enqueue(7);
66+
System.out.println(q.dequeue());
67+
q.show();
68+
69+
}
70+
}

0 commit comments

Comments
 (0)