-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstack_queue.java
More file actions
134 lines (133 loc) · 2.3 KB
/
stack_queue.java
File metadata and controls
134 lines (133 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.util.*;
class node{
int data;
node next;
node(int data)
{
this.data=data;
this.next=null;
}
}
class queue {
node head=null;
node tail=null;
int c=0;
public void enqueue(int data){
node n=new node(data);
if(head==null)
{
head=n;
tail=n;
c++;
}
else
{
tail.next=n;
tail=n;
c++;
}
}
public void dequeue(){
if (isEmpty())
{
System.out.println("you are mad");
return;
}
if(head == tail) {
head = null;
tail = null;
} else {
head=head.next;
}
c--;
}
public void size(){
System.out.println(c);
}
public boolean isEmpty(){
if(head==null)
return true;
else
return false;
}
public void print(){
node temp=head;
while(temp!=null)
{
System.out.print(temp.data+" ");
temp=temp.next;
}
System.out.println();
}
}
class stack
{
node head;
int c=0;
public void push(int data)
{
node n=new node(data);
n.next=head;
head=n;
c+=1;
}
public int pop(){
if(isEmpty())
{
System.out.println("stack is empty");
return -1;
}
int d=head.data;
head=head.next;
c-=1;
return d;
}
public int top(){
return head.data;
}
public boolean isEmpty(){
if(head==null)
{
return true;
}
return false;
}
public int size()
{
return c;
}
}
class stack_queue{
public static void main(String[] args) {
int data;
queue m=new queue();
Scanner o=new Scanner(System.in);
System.out.println("enter elements for queue");
data=o.nextInt();
while(data!=-1)
{
m.enqueue(data);
data=o.nextInt();
}
m.print();
m.dequeue();
m.print();
m.size();
System.out.println("enter elements for stack");
stack s=new stack();
data=o.nextInt();
while(data!=-1)
{
s.push(data);
data=o.nextInt();
}
System.out.println("size "+s.size());
System.out.println("top "+s.top());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
System.out.println(s.pop());
}
}